Ошибка при добавлении ссылки на службу в клиент WCF

Я работаю с экземпляром 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>

person chandra sekhar    schedule 02.09.2013    source источник


Ответы (1)


Несколько вещей, на которые вы, возможно, захотите обратить внимание, это то, что у вас отключены serviceMetadata. Ни один клиент никогда не сможет обнаружить вашу конечную точку, если вы ее не опубликуете. После того, как вы включите его, вам нужно указать http-адрес для публикации данных.

person stephenl    schedule 02.09.2013
comment
Поскольку я использую net.tcp, я думаю, что нет необходимости включать метаданные службы, хотя я установил значение true, но все равно та же ошибка. - person chandra sekhar; 02.09.2013
comment
как упомянул Стефенл, вам нужно будет указать http-адрес для публикации данных. Когда вы добавляете ссылку на службу в VS, svcutil.exe будет искать этот http-адрес для получения информации. - person rauts; 02.09.2013
comment
@chandrasekhar Как вы это принимаете? Какую версию WCF вы используете? - person stephenl; 03.09.2013