[WCF實踐]1.WCF使用net.tcp寄宿到IIS中


一、IIS部分

環境:Windows Server 2008 R2
1.安裝WAS,如下圖所示:
 
2.網站net.tcp協議綁定,如下圖所示:
 
3.網站啟用net.tcp,如下圖所示:
 
二、WCF代碼部分
1.DesignCaseService.svc
  1. <%@ServiceHostLanguage="C#"Debug="true"Service="Web.API.Implementations.DesignCaseService"%>
2.web.config配置示例:
<system.serviceModel>
    <services>
      <service name="Web.API.Implementations.DesignCaseService" >
        <endpoint binding="netTcpBinding" address="" contract="Web.API.Interfaces.IDesignCaseService" />
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost/DesignCaseService"/>
          </baseAddresses>
        </host>
      </service>
    </services>
    <bindings>
      <netTcpBinding>
        <binding portSharingEnabled="true"></binding>
      </netTcpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- 非常重要 -->
          <!-- 為避免泄漏元數據信息,請在部署前將以下值設置為 false -->
          <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false"/>
          <!-- 要接收故障異常詳細信息以進行調試,請將以下值設置為 true。在部署前設置為 false 以避免泄漏異常信息 -->
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

 

3.發布服務,框中非常重要,一定要是net.tcp
 
4.測試服務
 
 
三、錯誤集錦
1.找不到具有綁定 NetTcpBinding 的終結點的與方案 net.tcp 匹配的基址。注冊的基址方案是 [http]。
產生原因:網站沒有配置net.tcp協議,網站默認只有http協議
解決方案:按照第一部分,配置net.tcp協議
疑問:網站正確配置了net.tcp協議,還報這個錯誤?
可能原因:端口不對,比如在IIS中配置的net.tcp協議的端口1000,可能在Visul Studio中 右鍵打開svc文件,會分配另外一個端口,比如2000,這就可能產生這個問題
解決方案:在IIS中打開svc文件
 
2.已嘗試創建到達不支持.Net框架的服務的通道,可能遇到HTTP終結點。需要記錄類型"PreambleAck",找到"72"
產生原因:
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>   
當在默認配置中啟用http的元數據時,在發布服務頁面會出現以http協議的元數據鏈接,如下圖所示:
 
我們使用的是net.tcp協議,而在這里顯示的卻是http協議
解決方案:
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false"/> 

 

 3.由於目標計算機積極拒絕,無法連接。
查看Net.Tcp Listener Adapter服務是否啟動
參考資料:http://www.cnblogs.com/Gyoung/archive/2012/12/11/2812555.html
 






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM