1

WCF ルーティング サービス 4.0 の問題に直面しています。http から net.tcp へのプロトコル ブリッジングを行っています。net.tcp WCF サービスは、AppFabric 1.1 内の IIS 7.5 でホストされています。この問題は、Windows 7 開発ボックスと Windows 2008 R2 サーバーの両方で発生します。問題は、IIS ApplicationPool のリサイクルまたは ApplicationPool の停止後にルーティング サービスで System.ObjectDisposedException が発生し、ルーティング サービスへの次の呼び出しで System.ServiceModel.ProtocolException がスローされることです。サーバーが開始したシャットダウンにより、出力セッションが自動的に閉じられました。DispatchRuntime.AutomaticInputSessionShutdown を false に設定して自動クローズを無効にするか、リモート サーバーでシャットダウン プロトコルを変更することを検討してください。

この時点で、Routing Services を介した以降の呼び出しはすべて実行できません。奇妙なことに、net.tcp を介して公開されている WCF サービスが自己ホストされている場合、この問題は発生しません。そのため、WCF サービスがホストされているコンソール ホストを閉じてから再度開くと、ルーティング サービスが再び機能します。IIS がホストする WCF サービスが net.tcp バインディングを介して公開されている場合、この回復は失われます。

この問題を再現するために、http://msdn.microsoft.com/en-us/vs2010trainingcourse_whatsnewinwcf4_topic17.aspx から Ex8-ProtocolBridging ソリューションを取得し CalculatorServiceIis と呼ばれる CalculatorService の IIS ホスト バージョンを追加しました。

ソリューション ファイルと Word ファイル「DescribeIssue.docx」をhttps://rapidshare.com/files/3527502127/ProtocolBridgingIssue.zipにダウンロードしました。その問題を再現する方法の完全な説明がそこにあります。

4

0 に答える 0