[英]Mocking a Wcf ServiceContract
我想模拟一个ServiceContract。 问题是Moq(和Castle Dynamic-Proxy)将属性从接口复制到Wcf不喜欢的动态代理。 Wcf说:ServiceContractAttribute只应在接口或实现上定义,而不是两者都定义。
异常是:InvalidOperationException - Castle.Proxies.IWorkOrderRequestServiceProxy类型的服务类都定义了ServiceContract并从IWorkOrderRequestService类型继承ServiceContract。 合同继承只能在接口类型中使用。 如果类使用ServiceContractAttribute标记,则它必须是具有ServiceContractAttribute的层次结构中的唯一类型。 考虑将类型IWorkOrderRequestService上的ServiceContractAttribute移动到IWorkOrderRequestService实现的单独接口
刚遇到同样的问题 - 所以+1解决方案! :-)
更新: http : //code.google.com/p/moq/source/browse/trunk/Source/Proxy/CastleProxyFactory.cs包含对名为AttributesToAvoidReplicating的属性(集合)的引用,看起来像是一个开始查看的地方Moq源代码。
更新#2:诅咒吧!
加:
Castle.DynamicProxy.Generators.AttributesToAvoidReplicating.Add(typeof运算(ServiceContractAttribute的));
在你连接内核中的任何内容之前。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.