2009-09-25 65 views
7

WCF - net.tcp沒有端點監聽:// myserver:9000/SearchQueryService/Querier.svc可以接受消息。WCF - net.tcp://..../Querier.svc沒有端點監聽,可以接受該消息

我對IIS應用程序

啓用Windows防火牆的協議的net.tcp是關閉

的net.tcp綁定端口設置爲9000整個IIS應用程序。

我的web.config是很標準:

<system.serviceModel> 
    <diagnostics> 
     <messageLogging logMalformedMessages="true" logMessagesAtServiceLevel="false" 
     logMessagesAtTransportLevel="true" /> 
    </diagnostics> 
    <services> 
     <service behaviorConfiguration="SearchQueryServiceBehavior" 
     name="Search.Querier.WCF.Querier"> 
     <endpoint address="mex" binding="mexHttpBinding" name="mexHttpEndpoint" 
      contract="IMetadataExchange" /> 
     <endpoint binding="netTcpBinding" bindingConfiguration="" 
      name="netTcpEndpoint" 
      contract="Search.Querier.WCF.IQuerier" /> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="SearchQueryServiceBehavior"> 

      <serviceMetadata httpGetEnabled="true"/> 

      <serviceDebug includeExceptionDetailInFaults="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 

而這一設置工作在一臺服務器上而不是其他... 可能是什麼問題呢?

這兩個服務器,工作和非工作的一個運行IIS7。 唯一的區別是工作箱是Vista64 Sp2,非工作箱是W2k864。

回答

4

我認爲您在網站的高級設置中的「啓用協議」列表中缺少net.tcp。

0

您是否在w2k864機器上安裝了.net 3.5?安裝之後,你運行了aspnet_iisreg嗎?

檢查IIS中的asp.net設置,並確保它被設置爲使用2.0

你能提供的信息嗎?

也嘗試使用您的ip而不是主機名。例如192.168.1.100而不是myserver

+0

是的,一切都已完成.... – Matt 2009-09-25 20:55:34

0

當您瀏覽到服務(http://myserver/SearchQueryService/Querier.svc)時,您是否收到任何錯誤消息?

我還注意到您的客戶端正在調用端口9000上的net.tcp端點。此配置是否與IIS net.tcp配置相匹配?在默認配置中,對您的服務的調用應該指向net.tcp://myserver/SearchQueryService/Querier.svc