6

WAS を使用して IIS でホストされている WCF サービスがあります。net.tcp バインディングを使用してこのサービスにアクセスしようとすると、次のエラーが発生します。

パイプからの読み取り中にエラーが発生しました: 認識できないエラー 109 (0x6d)。

basicHttp を使用する場合、問題は発生しません。

奇妙なことに、web.config をランダムに変更して保存することで問題を「修正」できます。IISReset または Application Pool Recycle を実行するまで、問題は解消されます。その後、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 に答える