0

私は persession インスタンスで作業しており、参照を追加するときに net.tcp バインディングとクライアントを使用してサービスを作成しました。次のようなエラーが発生します

コントラクトにはセッションが必要ですが、バインディング 'BasicHttpBinding' がそれをサポートしていないか、サポートするように適切に構成されていません。

私のweb.config

  <?xml version="1.0"?>
   <configuration>
   <system.web>
    <compilation debug="true" targetFramework="4.0" />
   </system.web>
   <system.serviceModel>
     <bindings>
      <netTcpBinding>
        <binding name="NewBinding0" portSharingEnabled="true">

          <reliableSession inactivityTimeout="00:10:00" enabled="true" />
        </binding>
      </netTcpBinding>
      </bindings>
      <services>
      <service behaviorConfiguration="servicbeha" name="asdad">
        <endpoint address="" binding="netTcpBinding" bindingConfiguration="NewBinding0"
          name="tcpbind" contract="Wcfexam.IService1" />
        <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
          name="mextcp" bindingName="" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://chandu-PC:8080/Wcfexam/Service1.svc" />
          </baseAddresses>
        </host>
      </service>
     </services>
     <behaviors>
      <serviceBehaviors>
        <behavior name="servicbeha">
          <serviceMetadata httpGetEnabled="false" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    </system.serviceModel>
    <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    </system.webServer>
     </configuration>
4

1 に答える 1

0

あなたが見たいかもしれないいくつかのことは、serviceMetadata がオフになっていることです。エンドポイントを公開しないと、クライアントはエンドポイントを検出できなくなります。有効にしたら、データを公開するために http アドレスを指定する必要があります。

于 2013-09-02T12:31:57.043 に答える