net.tcp および http サーバー バインディングを備えた WCF サービスがあります。
Web.config ファイルは次のようになります
<system.web>
<compilation debug="false" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="tcp_Unsecured" portSharingEnabled="true">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<services>
<service name="MarketFeedServiceLibrary.Service1">
<endpoint address="net.tcp://localhost:808/MarketFeedService/Service.svc/mexTcp"
binding="mexTcpBinding" bindingConfiguration="" name="mexEndPoint"
contract="IMetadataExchange" />
<endpoint address="net.tcp://localhost:808/MarketFeedService/Service.svc/tcpService"
binding="netTcpBinding" bindingConfiguration="tcp_Unsecured"
name="dataEndPoint" contract="MarketFeedServiceLibrary.IService1" />
<endpoint address="http://localhost:80/MarketFeedService/Service.svc/basicHttp"
binding="basicHttpBinding" bindingConfiguration="" name="httpDataEndpoint"
contract="MarketFeedServiceLibrary.IService1" />
<endpoint address="http://localhost:80/MarketFeedService/Service.svc/mex"
binding="mexHttpBinding" bindingConfiguration="" name="httpMexEndpoint"
contract="MarketFeedServiceLibrary.IService1" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
/>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
ローカル PC の IIS でサービスをホストしています。アドレスを使用して IE で参照すると
"http://localhost/MarketFeedService/Service.svc"
、以下のようなメタデータ情報が得られます
しかし、VPS サーバー (Windows Server 2008 IIS 7.5) 上の IIS で同じ WCF Web サービスを同じアドレスでホストすると、次のエラーが発生します。
また、ローカル ホスト サービスのサービス参照を追加することもできますが、サーバーのサービス参照をパス「net.tcp://IPAddress/MarketFeedService/Service.svc」で追加しようとすると、次のエラーが発生します。
エンドポイント アドレス 'net.tcp://IPAddress/MarketFeedService/Service.svc' のサービスがアドレスのプロトコルで利用できないため、メッセージをディスパッチできませんでした。
注意
- Net.Tcp ポート共有サービス、Net.Tcp リスナー アダプターがオンになっている
- WCF Http および Non-Http Activation がインストールされ、有効になっている。
- http および net.tcp プロトコルは、既定の Web サイトとアプリケーションで有効になっています。
事前にどうもありがとうございました。