2013-09-02 3 views
0

Я работаю с экземпляром persession и я создал услугу с обязательным net.tcp и клиентом, когда я добавляю ссылку я получаю сообщение об ошибке, какОшибка при добавлении ссылки на службу к клиенту WCF

Контракта требует сессии , но привязка «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> 

ответ

0

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

+0

Как я использую net.tcp, я думаю, что нет необходимости включать servicemetadata, хотя я установил true для той же ошибки. –

+0

, как сказал Стивенл, вам нужно будет указать http-адрес для публикации данных. Когда вы добавите ссылку на службу в VS, svcutil.exe будет искать этот http-адрес для получения информации. – rauts

+0

@chandrasekhar. Как вы его размещаете? Какую версию WCF вы используете? – stephenl