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" /> 

回答:

这似乎并没有进行相关的实例上下文模式的当前设置。
尝试以下操作:

  1. 使用HTTP嗅探器,如小提琴手,看到返回的WSDL文件。确保你没有得到错误页面而不是wsdl文件。
  2. 如果您正在获取WSDL文件而不是错误页面,请保存该文件,将服务更改回单一,获取WSDL并比较两个WSDL文件以查找问题。

以上是 WCF PerSesson InstanceContextMode阻止使用SVCUtil生成代理 的全部内容, 来源链接: utcz.com/qa/264289.html

回到顶部