小编Dan*_*rbo的帖子

如何使用WCF将派生类型序列化为其基类型

我有一个包含一些对象的公共库.然后我有一个引用公共库的服务项目,并从公共库中的对象创建一些派生类型.

我希望我的服务将派生类型序列化为公共库中定义的基类型.

我不能在公共库中的对象上使用KnownTypes,因为我不希望公共库引用服务程序集.

那么如何将wcf序列化派生类型作为其基类型?

我希望我能做点像......

[DataContract(SerializeAsType = typeof(BaseType))] public class DerivedType:BaseType {}

有可能这样吗?

wcf serialization datacontract datacontractserializer

12
推荐指数
2
解决办法
6693
查看次数

使用HandleError或ProvideFault中的IErrorHandler在WCF中记录异常?

我正在使用IErrorHandler在WCF中进行异常处理,现在我想记录异常,以及堆栈跟踪和导致异常的用户.

我能看到导致异常的用户的唯一方法是:

OperationContext.Current.IncomingMessageProperties.Security.ServiceSecurityContext.PrimaryIdentity

...但这似乎只在ProvideFault内部工作,而不是在HandleError内部.有没有办法让用户进入HandleError?我想使用HandleError而不是ProvideFault,因为它在后台线程上被调用并且用于错误记录,对吧?

error-handling service wcf exception

6
推荐指数
1
解决办法
3887
查看次数