WCF PerSesson InstanceContextMode阻止使用SVCUtil生成代理
我有一个Windows Service托管的WCF Web服务。我一直在使用产生SvcUtil工具和东西都被做工精细的代理,但今天我从InstanceContextMode.Single到InstanceContextMode.PerSession改变InstanceContextMode现在我得到下面的错误,我不能隔离。我可以可靠地重新创建错误,只需更改此设置即可。有任何想法吗???WCF PerSesson InstanceContextMode阻止使用SVCUtil生成代理
这里是SvcUtil工具
生成的元数据文件... EXEC的错误信息:错误:有出口业务类型的错误 : Host.Services.MyService。
An exception was thrown in a call to a WSDL export extension:
System.ServiceModel.Description.DataContractSerializerOperationBehavior 合同: http://MySoftware/ServiceContracts/2011/02:IMyService
服务接口如下:
[ServiceContract(Namespace = Namespace.Current, SessionMode = SessionMode.Allowed)] public interface IMyService
服务实现现在配置为跟随S:
[ServiceBehavior(Namespace = Namespace.Current, InstanceContextMode = InstanceContextMode.PerSession)] public class MyService : IMyService
这里是我的配置文件中的数据串行合同
<dataContractSerializer maxItemsInObjectGraph="1000000" />
回答:
这似乎并没有进行相关的实例上下文模式的当前设置。
尝试以下操作:
- 使用HTTP嗅探器,如小提琴手,看到返回的WSDL文件。确保你没有得到错误页面而不是wsdl文件。
- 如果您正在获取WSDL文件而不是错误页面,请保存该文件,将服务更改回单一,获取WSDL并比较两个WSDL文件以查找问题。
以上是 WCF PerSesson InstanceContextMode阻止使用SVCUtil生成代理 的全部内容, 来源链接: utcz.com/qa/264289.html