我应该创建返回用户数据的wcf服务,接口和DataContract如下:
[ServiceContract]
public interface IUserInfoProvider{
[FaultContract<UserNotFound>]
public UserInfo GetUserInfo(Guid userId)}
[DataContract]
public class UserInfo
{
[DataMember] public Guid UserId { get; set; }
[DataMember] public bool? AdvertisingOptIn { get; set; }
[DataMember] public string CountryIsoCode { get; set; }
[DataMember] public DateTime DateModified { get; set; }
[DataMember] public string Locale { get; set; }
}
我没有特殊的服务客户端 - 请求(get,post)从fiddler或rest插件运行浏览器。
请描述如何在我的情况下实现[FaultContract&lt;&gt;],我看到了[FaultContract(typeof(UserNotFound))]的示例,但从未见过[FaultContract&lt;&gt;]
答案 0 :(得分:0)
对于迟到的回答感到抱歉,但我遇到了类似的问题,我想分享一下我发现的内容:
可以使用FaultContract:https://msdn.microsoft.com/en-us/library/ff650547.aspx
来自MSDN:
为了支持使用自定义错误,WCF服务使用 FaultContractAttribute正式指定可以返回的错误 来自服务业务。 FaultContractAttribute中指定的类型 必须可序列化为DataContract,SerializableAttribute或 ISerializable的。使用自定义错误抛出FaultException时 在FaultContract中定义,客户端应用程序也可以捕获这些 使用FaultException泛型类型的特定错误。
示例:
throw new FaultException<InvalidNameFault>(fault, "Invalid Name!");