Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF服务赢得';无法执行传入消息_Wcf - Fatal编程技术网

WCF服务赢得';无法执行传入消息

WCF服务赢得';无法执行传入消息,wcf,Wcf,为什么WCF能够很好地接收消息,但当它尝试在服务器上执行操作时会冻结 特别是根据服务跟踪查看器,它成功地打开了ServiceChannel,但无法打开InstanceContext或执行任何其他操作。没有抛出异常,它只是停止。真正让我困惑的是,我像往常一样设置代码,但是,这项服务不想运行,我还有另外两台服务器,它们都是运行良好的服务 我想这是配置中我遗漏的一个小细节,但我找不到。有人对我应该从哪里开始寻找有什么建议吗 我明白了,尽管我不得不指责WCF没有按预期的方式运行。所有服务主机上的Manu

为什么WCF能够很好地接收消息,但当它尝试在服务器上执行操作时会冻结

特别是根据服务跟踪查看器,它成功地打开了ServiceChannel,但无法打开InstanceContext或执行任何其他操作。没有抛出异常,它只是停止。真正让我困惑的是,我像往常一样设置代码,但是,这项服务不想运行,我还有另外两台服务器,它们都是运行良好的服务

我想这是配置中我遗漏的一个小细节,但我找不到。有人对我应该从哪里开始寻找有什么建议吗


我明白了,尽管我不得不指责WCF没有按预期的方式运行。所有服务主机上的ManualFlowControlLimit都设置为零。我建议WCF应该弹出一个异常或其他限制达到零的通知,如果不是代码本身,至少在跟踪日志中。为此,我还决定在微软的Connect网站上打开一个案例,看看他们的想法

之所以将其设置为零,是因为我们使用了一个为生成WCF服务/主机/绑定而构建的工具,并且它默认为零,我们正在更新工具,以便在将其设置为零时使用默认值


感谢你们所有人的耐心帮助

请提供有关服务及其绑定和行为的更多详细信息。具体来说,什么是实例模式、事务模式、会话等。您可能还希望发布跟踪查看器输出的摘录。特别是,我想知道你是否曾经到过“在频道上接收消息”这个网站。嗯,它不允许我发布图片,所以我必须使用链接。这是Svctrace的摘录。我正在通过通道通知接收消息。实例模式是PerCall。它是一个无会话的WSHTTP绑定(尽管一个有会话的NetTCPBinding会产生相同的结果),事务/可靠会话在WSHTTP上关闭,在TCP上打开。它作为本地系统服务托管。ProtectionLevel为无。名称空间不是并发模式是多个。没有同步上下文。如果您有InstanceMode=PerCall,那么让ConcurrencyMode=Multiple绝对没有意义-每个请求都将获得一个新的服务类实例来处理该请求。将ConcurrencyMode设置为Single-没有必要使事情变得不必要的复杂…好的方面,我会这样做,但由于我们有另一个服务在该配置中运行良好,我怀疑这是正确的,事实上我复制了一个工作的ServiceBehavior,这就是它如何首先获得多个。。。