6

我有一个使用 WAS 在 IIS 中托管的 WCF 服务。当我尝试使用 net.tcp 绑定访问此服务时,出现以下错误:

从管道读取错误:无法识别的错误 109 (0x6d)。

使用 basicHttp 时我没有遇到问题。

奇怪的是,我可以通过随机更改 web.config 并保存它来“修复”问题。直到我执行 IISReset 或应用程序池回收,问题才会消失。然后它再次被破坏,直到我再次更改(或只是保存)web.config ......

  • 我已经启用了跟踪,但这只是给出了无法识别的错误。
  • 重新启动没有帮助。
  • 我提高了 WCF 的阈值,但这并没有改变任何东西。

合约真的很简单,没有复杂的类型,所以没有序列化问题。返回消息大小是一个只有 12 个字符的字符串

4

4 回答 4

3

看看这个...

https://docs.microsoft.com/en-ca/archive/blogs/joncole/smsvchost-exe-event-log-id-8-an-error-occurred-while-dispatching-a-duplicated-socket-this-句柄现在在进程中泄露

在我的情况下,重新启动 net tcp 侦听器和端口共享服务会有所帮助。这篇文章也很好地概述了最可能的原因。

于 2011-04-21T05:42:56.910 回答
2

我遇到了同样的错误,并找到了解决我的情况的方法,试试看它是否能解决你的问题。

就我而言,有一个无法识别的数据正在通过 WCF 传递。这是一个未注册的枚举器。

例如(c#):

enum MyEnum { A = 1, B = 2 }

然后我使用值为 3 的 MyEnum 对象(枚举中不存在的任何对象)。所以,WCF 无法理解这个值并给了我这个错误。

于 2015-07-27T18:22:53.750 回答
1

我收到此错误是因为我从我的服务调用中返回了一个 DataTable 并且我没有设置 TableName 属性。

于 2012-03-13T15:49:02.610 回答
1

如果您使用大消息,您可以尝试将传输模式从缓冲更改为流:http: //msdn.microsoft.com/en-us/library/ms731913.aspx

它解决了我们的问题。

问候

于 2011-03-31T18:57:29.163 回答