1

我只是在寻找一些关于这个的一般建议。我的 WCF WebMethod 需要跨使用不同软件的应用程序工作,例如 ASP.NET --> Java。

我知道如果方法失败,我可以利用FaultException(Of MyError)它来生成 SOAP 错误,但是,通常发送成功消息的最佳方式是什么?

以下面的接口为例,它定义了将用户保存到数据库中的功能:

<ServiceContract()>
Public Interface IService1

    <OperationContract()>
    Sub SaveUserIntoDataBase(ByVal u As MyAppUser)

End Interface

<DataContract()>
Public Class MyAppUser

    <DataMember()>
    Public Property FirstName() As String

    <DataMember()>
    Public Property Surname() As String

End Class

如果我需要发送用户已成功保存的反馈,通常如何完成?是否存在等效于 a 的“成功” FaultException,还是建议仅返回布尔值或字符串?

我想应该总是返回一个值?

4

2 回答 2

2

如果服务调用的执行没有失败,则没有任何与异常等效的成功结果。

一种选择是创建一些自定义类型,例如枚举,并根据来自底层源的不同结果返回这些类型。

每个调用的返回类型可能不同或根据用户需求定制。在您的情况下,返回布尔值比某些字符串值更好。此外,您正在使用“Sub”,所以如果它是一个函数,那么这可能是一种情况。

您也可以在此处进行一些讨论: 返回布尔值和字符串值的最佳做法是什么

于 2012-12-18T09:41:52.130 回答
1

不需要成功消息。如果操作没有失败,那么它就是成功的。

使用 FaultException 指示失败。

于 2012-12-18T09:51:29.207 回答