我的WCF摸爬滾打之路(2)


     昨天抽空寫了一個wcf的創建和宿主程序的創建文章,下面也有很多園友給了評論,在此謝謝大家給了我繼續記錄我的摸爬滾打之路信心……抱拳!

    上次的文章《我的WCF摸爬滾打之路(1)》中寫到,在測試wcf例子的時候遇到很多稀奇古怪的異常,准備列個專題寫的。無奈學習不深,實在不敢潦草為之。今天就隨便說說吧!說的不到位的地方,還望有緣人海涵。多多指點,共同學習,共同進步。

     一般在測試這些技術的時候,你遇到的問題,在網上搜搜大多也能解決問題。因為我也是站在別人的肩膀上學習的。其實你別把wcf這種通信的技術想多有多么復雜(我僅僅只是說一些一般應用中哈,當然玩深入的話,任何一個技術都感覺深不可測。勿噴)。我理解的wcf就是把實現接口的服務暴露出來供我使用而已。附上一個簡單的理解圖:

 

一、簡單講講客戶端的的配置文件吧,客戶端的配置文件當你添加服務引用后會自動生成config文件中的內容。

 1  <system.serviceModel>
 2         <bindings>
 3             <netTcpBinding>
 4                 <binding name="NetTcpBinding_IService1">
 5                     <security mode="None" />
 6                 </binding>
 7             </netTcpBinding>
 8         </bindings>
 9         <client>
10             <endpoint address="net.tcp://localhost:13141/Service1" binding="netTcpBinding"
11                 bindingConfiguration="NetTcpBinding_IService1" contract="ServiceReference1.IService1"
12                 name="NetTcpBinding_IService1" />
13         </client>
14     </system.serviceModel>
View Code

<bindings>

//這個節點就是你wcf的綁定方式

//security安全模式

</bindings>
<client>

//wcf訪問地址(address,wcf的端口號,ip,和你的服務(實現接口的那個類))

//wcf的契約(contract,就是你的添加服務引用后的Reference.cs文件中有個configurationNme屬性)

</client>

二、wcf宿主程序在服務器上運行的注意事項

    2.1我的測試環境是windowsServer2012 R2

    2.2我的宿主程序是控制台程序,當我直接運行編譯好的exe文件時,出現下列錯誤。大致意思是說當前用戶沒有權限運行。右鍵以管理員身份運行正常。

2.3有的網絡環境可能需要讓管理員跟你開放端口,不然的話是無法訪問你的wcf服務的

2.4宿主程序運行正常,客戶端是否就能正常連接呢?試試看。會提示你無法找到服務,這有可能是你的服務器防火牆起了作用,此時你要的做的是在防火牆中添加入站規則,將管理員給你開放的端口添加進去。送佛送到西直接上圖如何添加入站規則吧。

  1.進入控制面板,找到windows防火牆

  

2.進入高級設置

3.選擇入站規則,點擊new rule

4.選擇port,點擊next

 5.選擇 Specific local ports,輸入你的端口(wcf的端口)

6.選擇允許鏈接

7.全部選中規則應用時間

 9.便於管理輸入規則名稱。例如:InWcfRule

 點擊finish即可,經過測試訪問沒問題了。

另外注意的是服務端和客戶端的配置中的安全模式都置為None

 【轉載注明出處!謝謝】

   

 

 


免責聲明!

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



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