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

来源:http://www.cnblogs.com/stoneWl/archive/2016/08/25/5806387.html
-Advertisement-
Play Games

昨天抽空寫了一個wcf的創建和宿主程式的創建文章,下麵也有很多園友給了評論,在此謝謝大家給了我繼續記錄我的摸爬滾打之路信心……抱拳! 上次的文章《我的WCF摸爬滾打之路(1)》中寫到,在測試wcf例子的時候遇到很多稀奇古怪的異常,準備列個專題寫的。無奈學習不深,實在不敢潦草為之。今天就隨便說說吧!說 ...


     昨天抽空寫了一個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

 【轉載註明出處!謝謝】

   

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 在開發應用程式時,通常只讓程式運行一個實例。所以,就要判斷程式是否已經運行。 下麵是我自己在項目中使用到,封裝好的幫助類。有 普通的 C 應用程式 和 Windows CE 和 Windows Mobile 應用程式使用的方法。 主要是通過 System.Threading.Mutex 類 和 ...
  • Razor是MVC框架視圖引擎,我們今天就來說一說Razor視圖引擎。 首先還是來創建一個基礎項目叫Razor來演示。 先來定義一個Model叫Product 接著,來定義一個控制器。 最後,在Views/Home文件夾中創建Index.cshtml文件。 1. 使用模型對象 我們在視圖的第一行使用 ...
  • 舉幾個值類型和引用類型的記憶體配置: 值類型存儲在棧中,引用類型堆里: 1,數組 數組是引用類型,但是數組的元素可以是值類型或引用類型 2. 結構 結構是值類型,簡略的看個例子 struct sample { public int X; public int Y; } simple ss = new ...
  • ASP.NET Core基於 .NET Core 項目模型,它支持構建能夠運行在 Windows、Mac和 Linux 上的跨平臺應用程式。當您構建一個 .Net Core 項目的時候,您可以選擇一種 .NET框架來構建您的應用程式,.NET Framework (CLR)、 .NET Core (... ...
  • LINQ對於筆者來說, 優美而濃縮的代碼讓人震驚. 研究LINQ就是在藝術化自己的代碼. 之前只是走馬觀花學會了基本的語法, 但是經常在CSDN看到令人驚訝自嘆不如的LINQ代碼, 還是讓人羡慕嫉妒恨, 真有一種心血來潮想追趕的衝動. 所以, 還是決定系統的學習一下LINQ. (1.4) LINQ ...
  • WCF如何實現對於Rest支持的呢?弄清這一點是學習Rest WCF的關鍵。 為了實現於對Rest的支持,在 .NET Framework 中,WCF 在 System.ServiceModel.Web 組件中新增了編程模型和一些基礎架構部件。WCF Web編程模型幾個重要類型就是: ...
  • 自古以來,人類的進步都是依賴於工具的進步,從刀耕火種,到使用青銅器,再到現在的科技,每一次都使我們的工作效率提高了無數倍,所以一個好的工具能使我們提高無數倍的工作效率,下麵,我就根據自己簡單的總結一下我們到底要有什麼樣的裝備。這裡現在只寫必須的,因為有太多的好的軟體了,以後再分類補充吧。 一,操作系 ...
  • 在WPF中使用依賴註入的方式創建視圖 0x00 問題的產生 互聯網時代桌面開發真是越來越少了,很多應用都轉到了瀏覽器端和移動智能終端,相應的軟體開發上的新技術應用到桌面開發的文章也很少。我之前主要做WPF,今年開始學習Web應用開發,於是就接觸到了.NET Core,其中的很多概念很值得在桌面開發中 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...