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

问题描述 投票:6回答:4

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

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

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

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

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

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

wcf iis-7 was
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-handle-is-now-leaked-in-the-process

就我而言,重新启动网络TCP侦听器和端口共享服务很有帮助。这篇文章也很好地概述了最可能的原因。


2
投票

我也遇到相同的错误,找到了解决我的问题的方法,请尝试一下并检查是否可以解决您的问题。

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

例如(c#):

enum MyEnum { A = 1, B = 2 }

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


1
投票

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

它解决了我们的问题。

问候


1
投票

我收到此错误是因为我正在从服务调用中返回DataTable,但未设置TableName属性。

© www.soinside.com 2019 - 2024. All rights reserved.