我应该创建返回用户数据的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<>,我见过FaultContract(typeof(UserNotFound))的例子,但从未见过FaultContract<>
发布于 2016-08-24 00:19:15
很抱歉回答得太晚了,但我遇到了类似的问题,我想分享我的发现:
FaultContract是可能的:https://msdn.microsoft.com/en-us/library/ff650547.aspx
来自MSDN:
为了支持自定义错误的使用,
服务使用FaultContractAttribute来正式指定可以从服务操作返回的错误。FaultContractAttribute中指定的类型必须可序列化为DataContract、SerializableAttribute或ISerializable。当使用FaultContract中定义的自定义错误抛出FaultException时,客户端应用程序也可以使用FaultException泛型类型捕获这些特定的错误。
示例:
throw new FaultException<InvalidNameFault>(fault, "Invalid Name!");https://stackoverflow.com/questions/26648127
复制相似问题