获取“无法识别的错误109(0x6d)”,可以通过更改web.config来“修复”

时间:2011-02-02 08:47:40

标签: wcf iis-7 was

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

  

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

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

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

  • 我启用了跟踪,但这只是给出了无法识别的错误。
  • 重新启动无济于事。
  • 我已经增加了WCF的阈值,但没有改变任何东西。

合同非常简单,没有复杂的类型,因此没有序列化问题。返回消息大小是一个只有12个字符的字符串

4 个答案:

答案 0 :(得分:2)

看看这个......

http://blogs.msdn.com/b/joncole/archive/2010/06/29/smsvchost-exe-event-log-id-8-an-error-occurred-while-dispatching-a-duplicated-socket-this-handle-is-now-leaked-in-the-process.aspx

在我的情况下重启net tcp listener和端口共享服务有帮助。本文对可能的原因进行了很好的概述。

答案 1 :(得分:2)

我遇到了同样的错误并找到了我的案例的解决方案,试一试并检查它是否能解决你的问题。

就我而言,有一个无法识别的数据通过WCF传递。这是一个没有注册的普查员。

e.g(c#):

enum MyEnum { A = 1, B = 2 }

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

答案 2 :(得分:1)

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

它解决了我们的问题。

此致

答案 3 :(得分:1)

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