2009-09-24 30 views
1

我有一個WCF服務在IIS7中託管。WCF調用拋出:「提供的URI方案'http'無效;期望'net.tcp'。」異常

這是在IIS

託管
<system.serviceModel> 
    <bindings /> 
    <services> 
    <service behaviorConfiguration="querierSearch.Querier.WCF.QuerierBehavior" 
     name="querierSearch.Querier.WCF.Querier"> 
     <endpoint 
     address="net.tcp://localhost:808/querierSearch.Querier.WCF/Querier.svc" 
     binding="netTcpBinding" bindingConfiguration="" name="EndPointTCP" 
     contract="querierSearch.Querier.WCF.IQuerier" /> 
    </service> 
    </services> 
    <behaviors> 
    <serviceBehaviors> 
     <behavior name="querierSearch.Querier.WCF.QuerierBehavior"> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
     </behavior> 
    </serviceBehaviors> 
    </behaviors> 
</system.serviceModel> 

及以下我服務的app.config是在引用WCF服務客戶端的app.config。

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
    <bindings> 
     <netTcpBinding> 
     <binding name="EndPointTCP" closeTimeout="00:01:00" 
      openTimeout="00:01:00" 
      receiveTimeout="00:10:00" sendTimeout="00:01:00" 
      transactionFlow="false" transferMode="Buffered" 
      transactionProtocol="OleTransactions" 
      hostNameComparisonMode="StrongWildcard" listenBacklog="10" 
      maxBufferPoolSize="524288" 
      maxBufferSize="65536" maxConnections="10" 
      maxReceivedMessageSize="65536"> 
      <readerQuotas maxDepth="32" maxStringContentLength="8192" 
      axArrayLength="16384" maxBytesPerRead="4096" 
      maxNameTableCharCount="16384" /> 
      <reliableSession ordered="true" inactivityTimeout="00:10:00" 
      enabled="false" /> 
      <security mode="Transport"> 
      <transport clientCredentialType="Windows" 
      protectionLevel="EncryptAndSign" /> 
      <message clientCredentialType="Windows" /> 
      </security> 
     </binding> 
     </netTcpBinding> 
    </bindings> 
    <client> 
     <endpoint address="net.tcp://localhost/Search.Querier.WCF/Querier.svc" 
     binding="netTcpBinding" bindingConfiguration="EndPointTCP" 
     contract="SearchQueryService.IQuerier" 
     name="EndPointTCP"> 
     <identity> 
      <userPrincipalName value="[email protected]" /> 
     </identity> 
     </endpoint> 
    </client> 
    </system.serviceModel> 
</configuration> 

由於某種原因,我仍然得到「提供的URI方案'http'無效;期望'net.tcp'。」異常。

我想不通爲什麼.....

回答

2

其實原來我錯過了MEX終結...... woops

0

可能這

<serviceMetadata httpGetEnabled="true" /> 

你要求它在TCP服務,這似乎像它可能會導致一些問題,啓用HTTP。

0

我的問題是,在web.config中behaviorConfiguration刪除我刷新了Service References後。

(我的behaviorConfiguration使用clientVia地址而不是標準端點地址來允許它穿越防火牆)。

相關問題