Windows Server 08、sp2 の IIS7 で WCF サービスをホストしています。サービスは独自の Web サイトとしてホストされ、NET.TCP エンドポイントを介して公開されます。サービスは、restart/iisreset コマンドが発行されるまで完全に機能します。
再起動または iisreset の後、サービス呼び出しを行うと、「System.ServiceModel.EndpointNotFoundException: サービスがエンドポイント アドレス 'net.tcp://[website]/[ service_name].svc' は、アドレスのプロトコルでは使用できません..'
サーバーのイベント ログに次のエラーが表示されます: 例外: System.ArgumentException メッセージ: プロトコル ID 'NET.TCP' が不明です。StackTrace: System.Web.Hosting.ProcessHost.StartProcessProtocolListenerChannel(String protocolId, IListenerChannelCallback listenerChannelCallback) で '
質問: これを修正するにはどうすればよいですか? iisreset 後に NET.TCP プロトコルが無効になるのはなぜですか? バグですか?いくつかの構成がありませんか?
IIS セットアップの詳細: - Server 08 および 08 R2 - バインディング: http、NET.TCP (808:*) - EnabledProtols: http、NET.TCP。- サイトの appPool の ID が特定のユーザーに設定されている。
ここで入手可能なサンプル コード: http://drop.io/wcfTcpSampleService
ありがとう