開発環境:
サービスはIIS/WASでホストされます
私は自分の地域開発で4つのサービスを開発しています。asp.netアプリケーションからアクセスしているときは、4つすべてが正常に機能しています。net.tcpプロトコルを使用して接続しています。サイトレベルおよび仮想ディレクトリレベルで許可されるプロトコルとしてnet.tcpを指定しました。tcpに関連する3つのサービスがすべて開始されます。
サービスに接続できるアプリケーションweb.configで、偽装を使用しています
しかし、wcftestclientのサービスの追加プロジェクトでnet.tcpurlを指定してサービスに接続しようとすると。接続できません。他の2つのサービスの同じ構成で、これら2つの他のサービスに接続できます。
テストサーバー:テストサーバー にもデプロイしました。そこでも同じ問題に直面しています。net.tcpurlを使用して同じ2つのサービスに接続できます。しかし、他の2つはエラーになります。その構成の1つを以下に示します。サーバーでは、許可されたユーザーの部分を削除して、すべてのユーザーが実行できるようにしました。
私が得ているエラーは次のとおりです。
エラー:net.tcp://localhost/servicesdev/SalesPersonService.svcからメタデータを取得できませんこれがアクセス可能なWindows(R)Communication Foundationサービスである場合は、指定されたアドレスでメタデータ発行が有効になっていることを確認してください。メタデータ発行を有効にするためのヘルプについては、http: //go.microsoft.com/fwlink/? LinkId=65455.WS-MetadataにあるMSDNドキュメントを参照してください。ExchangeエラーURI:net.tcp://localhost/servicesdev/SalesPersonService.svcメタデータに解決できない参照が含まれています:'net.tcp://localhost/servicesdev/SalesPersonService.svc'。ソケット接続が中止されました。これは、メッセージの処理エラー、リモートホストによる受信タイムアウトの超過、または根本的なネットワークリソースの問題が原因である可能性があります。ローカルソケットのタイムアウトは「00:05:00」でした。既存の接続がリモートホストによって強制的に閉じられました
以下は設定セクションです。
<services>
<service behaviorConfiguration="ServiceBehavior" name="WCFServiceLibrary.SalesPersonService">
<endpoint address="" binding="wsHttpBinding" contract="WCFServiceLibrary.ISalesPersonService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
<endpoint address="basic" binding="basicHttpBinding" contract="WCFServiceLibrary.ISalesPersonService" />
<endpoint address="net.tcp://localhost/servicesdev/SalesPersonService.svc" binding="netTcpBinding" contract="WCFServiceLibrary.ISalesPersonService" listenUriMode="Explicit" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<system.web>
<compilation targetFramework="4.0" debug="true" />
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
<identity impersonate="true" />
<authorization>
<allow users="myuser" />
</authorization>
</system.web>
ありがとう、BMP