0

デュプレックス wcf サービスをサーバーに公開しようとしていますが、成功しませんでした。ローカル IIS に公開することはできますが、サーバーに公開すると、そのアドレスはnet.tcp://win-rhkt30stjd7/Broadcastor/BroadcasterService.svc. あなたが同意するように、クライアントでサービス参照を作成している間、そのようなアドレスはまったく役に立ちません。WCF アプリケーション プロジェクトとサービス ライブラリ プロジェクトとして公開しようとしましたが、どちらも同じ結果になります。おそらく私のWeb.configファイルに何かが欠けていますが、それが何であるかわかりません。ここで私を助けてください。以下は私のWeb.configファイルです:

<?xml version="1.0" encoding="utf-8"?>
<configuration> 
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="false" />
    <customErrors mode="Off"/>
  </system.web>
  <system.serviceModel>
    <services>
      <service name="BroadcastorServiceApp.BroadcastorService">
        <endpoint binding="netTcpBinding" contract="BroadcastorServiceApp.IBroadcastorService">
        </endpoint>
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <bindings>
      <netTcpBinding>
        <binding>
          <security mode="None"></security>
        </binding>
      </netTcpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" />
          <serviceDebug includeExceptionDetailInFaults="True" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
  <system.webServer>
    <directoryBrowse enabled="true" />
  </system.webServer> 
</configuration>
4

1 に答える 1

0

addressはあなたのどの部分も見ませんNET TCP endpoint

1 : 以下のようにベース アドレスを追加します。

<host>
       <baseAddresses>
           <add baseAddress="net.tcp://localhost:8088" />
       </baseAddresses>
    </host>

2 : 次のように、net tcp エンドポイントにアドレス パラメーターを追加します。

<endpoint address = "tcpEndPoint"
          binding="netTcpBinding" 
          contract="BroadcastorServiceApp.IBroadcastorService"></endpoint>

3 : また、動作名を次のように指定します。

<serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" />
      <serviceDebug includeExceptionDetailInFaults="True" />
    </behavior>
</serviceBehaviors>

そして、次のようにサービスに追加します。

<service name="BroadcastorServiceApp.BroadcastorService" behaviorConfiguration="ServiceBehavior">
    <endpoint binding="netTcpBinding" contract="BroadcastorServiceApp.IBroadcastorService"></endpoint>
    <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
</service>
于 2013-09-17T06:43:57.780 に答える