在本示例開始之前,讓我們先來了解一下什麼是wcf? wcf有哪些特點?
wcf是乙個面向服務程式設計的綜合分層架構。該架構的項層為服務模型層。
使使用者用最少的時間和精力建立自己的軟體產品和外界通訊的模型。它使得開發者能夠建立乙個跨平台的安全、可信賴、事務性的解決方案。且能與已有系統相容寫作。
簡單概括就是:一組資料通訊的應用程式開發介面。
在這個示例中, 我們將學習如何建立wcf服務,如何測試wcf服務,如何發布wcf服務到iis上。如何在客戶端呼叫wcf服務。
本示例教程結合ef6.0,以及連線sqlserver的乙個dome,好啦,下面開始正式講解。
第一步:建立「wcf服務應用程式」
點選確定,會建立出我們的wcf專案,在解決方案中會自動為我們生成兩個類檔案「iservice.cs」和「service.cs」。如下圖所示。↓
第二步:我們先建立個類庫用來存放實體模型。
在「解決方案視窗」中,我們右擊解決方案,選擇「新增」,新建專案,再單擊「類庫」確定。
插入一步:建立服務需要安裝資料庫連線,滑鼠右鍵點選解決方案,選擇 「管理解決方案的nuget程式包」彈出如下介面,在「瀏覽」選項卡的搜尋框中輸入「sql」 選擇第乙個安裝,需要選擇專案中的 「類庫(本例中為calsslibray1)」 和 「服務(本例中為wcfservice4)」 如下圖:
資料庫連線
同樣,滑鼠右鍵點選解決方案,選擇 「管理解決方案的nuget程式包」,彈出如下介面,選擇安裝entityframework,勾選所列出的類,本專案只有classlibrary1和wcfservice3兩個類,都要勾選。
第三步:建立ef實體模型。
為了方便管理,我們先建立個資料夾用來存放實體類。
然後右擊資料夾→新增→新建項。如下圖所示:↓
然後我們左邊選單選擇:資料→ado.net實體資料模型。如下圖所示。↓
點選新增之後,我們會看到有幾個選擇, 分別代表:資料庫優先、模型優先、**優先。
本dome選擇來自資料庫的codefist,也就是代表:**優先。如下圖所示。↓
點選下一步之後,再點選「新建連線」,然後測試連線是否成功,再選擇資料庫。如下圖所示。
然後再勾選自己所需要生成的實體表,如下圖所示。
然後你就會看到entitymodel這個資料夾下會多出兩個類檔案,由於我只選擇了乙個表生成的,所以是兩個類檔案。如下圖所示。
第五步:定義契約,我們開始寫服務。
首先我們在「iservice1」中定義鍥約。注意:每個鍥約上都要加上[operationcontract]標記。如下圖所示。
然後我們在「service1.svc」中實現我們所有定義的契約。如下圖所示。
到這一步,我們的服務已經完成了。現在我們開始本地測試服務是否有問題,如沒問題再發布到iis上去。
測試步驟:右擊「service1.svc」 選擇在瀏覽器中檢視,如下圖所示,說明服務沒問題。然後我們再用wcf測試客戶端測試一下我們做的一些操作是否正確。
如上圖所示,只能說明我們的服務寫的沒問題,但並不確定服務中所寫的一些**訪問資料是否正確。那麼我們就在服務端利用wcf測試客戶端呼叫我們所寫的**是否正確。
開啟服務端步驟:首先,我們將「service1.svc」設為起始頁,然後把整個服務應用程式設為啟動專案,最後f5執行。如下圖所示。
如上圖,我們測試del,傳入值再呼叫,如果沒報錯且左下角提示服務呼叫完成,說明已經成功呼叫並執行我們所寫的**功能。
原文:
WCF伺服器發布到IIS上面
最近公司用到wcf技術,不過不是我負責的,所以我自己在網上找了乙個例子,自己測試了了一下。前面都很簡單,就是發布以後佈署到iis上出了點問題 一,是瀏覽 時,出現如下錯誤 這是iis不能解譯 svc 檔案的問題。開啟配置 中的 處理程式對映 檢視有沒有下面紅框的內容 如果沒有,以管理員的身份執行 c...
建立WCF服務
我們在開發wcf時,一般用vs建立wcf專案,然後 自動生成。但如果你想要真正了解全過程,不防,咱門今天晚上自己從零開始。完成乙個wcf的服務發布。模擬場景 我們要建立乙個全國文憑資源查詢系統。用服務形式進行公開。1.首先我們建立乙個空白解決方案 mywcf 2.我們再來建立乙個windows程式專...
使用Windows服務發布WCF服務
原創 灰灰蟲的家 第一步 建立windows服務程式windowsservicehost 圖1 圖2 第二步 向consolebookservicehost程式中新增兩個引用 乙個是wcf服務庫services專案的引用,另乙個是system.servicemodel引用。第三步 修改service...