我只是想找一些关于这个的一般建议。我的WCF WebMethod需要使用不同的软件跨应用程序工作,例如ASP.NET - >例如,Java。
我知道如果方法失败,我可以利用FaultException(Of MyError)
生成SOAP错误,但是,通常发送成功消息的最佳方式是什么?< / p>
以下面的接口为例,该接口定义了将用户保存到数据库的功能:
<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
如果我需要发送用户成功保存的反馈,通常会怎么做?是否存在等于FaultException
的“成功”,或者建议仅返回布尔值还是字符串?
我想应该总是返回一个值?
答案 0 :(得分:2)
如果服务调用的执行没有失败,则没有任何等效的成功结果。
一种选择是创建一些自定义类型,例如枚举,并根据基础源的不同结果返回这些类型。
每个呼叫的返回类型可能不同或根据用户需求进行定制。在您的情况下,返回布尔值优于某些字符串值。你也使用“Sub”,所以如果它是一个函数,那么这可能是一种情况。
您也可以在此处进行一些讨论: Whats the best practice for returning a Boolean and string value
答案 1 :(得分:1)
无需成功消息。如果操作没有失败,那就是成功了。
使用FaultException指示失败。