學習WCF WPF EF技術 一

2021-06-06 22:48:04 字數 2751 閱讀 6323

序:最近到新公司要用到wcf\wpf\ef的技術,之前沒有接觸過從零開始學起,不知不覺過了將近一周的時間,期間遇到不少問題,很感謝我的兩位面試官同時也是公司中的技術大哥給予我的耐心講解和幫助.

最先開始學習的是wcf技術,全稱windowscommunication foundation,是由微軟發展的一組資料通訊的應用程式開發介面可以翻譯為windows通訊介面,它是.net框架的一部分,由 .net framework 3.0 開始引入,與 windowspresentation foundation及 windows workflow foundation並行為新一代 windows作業系統以及 winfx的三個重大應用程式開發類庫.以上是引用baidu百科中對wcf介紹的一段文字.好了wcf的概念就介紹到這裡,下面就從我開發中的例項中介紹些自己遇到的問題細節,示例要求是做乙個使用者管理資訊系統,使用的是c/s方式,服務端不是資料庫,是要通過伺服器的service(wcf)呼叫,client端介面使用wpf製作.

1.建立乙個空的解決方案,取名為usercms_wcf_wpf

2.新增wcf服務庫,為iis託管做準備

--ps:在新增之前有段話要說,之所以是選擇新增乙個

wcf服務庫

,基本上是直接建立在web專案中建立

wcf服務

,進而實現iis對wcf的託管,這種方式的缺點就是不利於以後專案的分離擴充套件.而選擇新增

wcf服務庫

的方法則恰恰實現了整體專案的松耦合.(推薦入門學習的資料《programmingwcf services》以及從網上搜的教程

wcf教程系列(1)-建立第乙個wcf程式

\wcf簡單教程(1) 入門

\wcf簡單教程(5) 用iis做host

)在空解決方案中新增wcf服務庫專案

先不做修改,進行下一步建立web專案

這裡要注意步驟,看圖說話(>_

從選單欄選擇

"檔案"->"新建專案"->"web"->"asp.net空web應用程式",下邊取好名稱後在"解決方案"一欄中選擇新增到解決方案

繼續,在"web"專案中新增對wcf服務庫專案的引用(wcfservice),並引入"system.servicemodel",它是包含wcf絕大數功能的類庫,此步為止web專案引用類庫如下圖:

其中,wcf.svc是自定義名稱的"服務檔案",其實在web專案中不真正存在名為wcf.svc的檔案,因為我們可以將服務型別和位址資訊直接應用於作為iis託管的web專案中web.config的部分中,從而不使用.svc檔案.而且我們可以根據自己的喜好定義更多類似這樣的服務.

,繼續刪除\內節點內容,最後可通過wcf配置編輯器新增新繫結(wshttpingbinding)

.以上步驟如圖:

沒有wcf服務配置編輯器的可以去"選單欄"中,"工具"的下拉列表去找.

選中"服務",在第乙個終結點中單擊"(預設)單擊可建立"

在name屬性中輸入自定義名稱

我已將"wcfservice"專案中自動生成的service.cs和iservice.cs檔案重新命名為usercmswcfservice和iusercmswcfservice.

其中service="wcfservice.usercmswcfservice"前部分是命名空間也就是"wcf服務庫"專案的名稱,在寫這個屬性的是一定要寫全名(命名空間+類名)

需要注意的是,使用iis託管wcf即web專案,應要設定true"/>,否則客戶端是無法通過http協議獲取到服務的.

配置檔案中的節點很重要,三個屬性"abc",a:address="服務在哪",這裡設為空,缺省會iis伺服器的路徑,b:binding="怎樣訪問服務,即通訊協議是什麼",c:contract="提供的是wcf哪類服務",本專案中使用的就是servicecontract.

如果配置正確,啟動web專案,輸入

伺服器位址+剛剛在web.config檔案中定義的wcf服務檔案的名稱,會出現如下圖結果:

以上,基本完成搭建託管於iis的wcf專案端.

以下是我這段時間在學習中蒐集的學習資料,大家可以用搜尋引擎搜尋檔名及作者很容易就搜到了.非常感謝各個文章作者的分享.

XULRunner技術學習一

基於 mozilla 的 swt 瀏覽器部件 為了使用基於 mozilla 的 swt 瀏覽器部件,需要在作業系統中預先安裝與註冊 xulrunner 那,什麼是 xulrunner 呢?xulrunner 是乙個單獨的 mozilla 執行時 安裝包,可用於啟動多種如同 firefox 和 thu...

多執行緒技術學習 一

1.什麼是執行緒?什麼是多執行緒?2.執行緒出現在 3.如何使用執行緒?1.什麼是執行緒?我不想像教科書寫的那樣理解,站在作業系統的角度,執行緒就是能夠被cpu排程的最小執行單元.說到這裡不得不說程序,在windows中.開啟任務管理器看見的那些.exe都是程序.程序占有系統資源.有 空間,有記憶體...

跳頻技術 學習總結(一)

跳頻技術 學習總結 一 一 擴頻概念和分類 擴頻通訊 一種利用與資訊無關的偽隨機序列使射頻訊號的頻頻寬度遠大於基帶訊號的頻頻寬度。l 直接序列擴頻 資訊訊號的功率分散在很寬的頻帶內,隱藏在雜訊中。l 跳頻 資訊訊號頻率在很寬的頻帶範圍內跳變。l 跳時 以偽隨機序列選擇時序傳送訊號的擴頻技術。二 跳頻...