WCF服務創建到發佈(SqlServer版)

在本示例開始之前,讓我們先來了解一下什麼是wcf? wcf有哪些特點?

wcf是一個面向服務編程的綜合分層架構。該架構的項層爲服務模型層。

使用戶用最少的時間和精力建立自己的軟件產品和外界通信的模型。它使得開發者能夠建立一個跨平臺的安全、可信賴、事務性的解決方案。且能與已有系統兼容寫作。

簡單概括就是:一組數據通信的應用程序開發接口。

好啦,wcf就介紹這麼多,需更深入的瞭解請百度或自己去用了之後就會深有體會。下面開始我們的示例。

在這個示例中, 我們將學習如何創建WCF服務,如何測試WCF服務,如何發佈wcf服務到IIS上。如何在客戶端調用WCF服務。

    本示例教程結合EF6.0,以及連接SqlServer的一個Dome,好啦,下面開始正式講解。

 

第一步:創建“WCF服務應用程序”

1250973?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdWJhbmdiYW5nMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEas

點擊確定,會創建出我們的WCF項目,在解決方案中會自動爲我們生成兩個類文件“IService.cs”和“Service.cs”。如下圖所示。↓

https://img-blog.csdn.net/20180117111729243?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhvdWJhbmdiYW5nMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

第二步:我們先創建個類庫用來存放實體模型。

在“解決方案窗口”中,我們右擊解決方案,選擇“添加”,新建項目,再單擊“類庫”確定。

1111111111111111111111111111111

插入一步:創建服務需要安裝數據庫連接,鼠標右鍵點擊解決方案,選擇 “管理解決方案的nuget程序包”彈出如下界面,在“瀏覽”選項卡的搜索框中輸入“sql” 選擇第一個安裝,需要選擇項目中的 “類庫(本例中爲calsslibray1)” 和 “服務(本例中爲wcfservice4)”  如下圖:       2222222222222222222222222222222222222222                                                                      數據庫連接

同樣,鼠標右鍵點擊解決方案,選擇 “管理解決方案的nuget程序包”,彈出如下界面,選擇安裝EntityFramework,勾選所列出的類,本項目只有Classlibrary1和WcfService3兩個類,都要勾選。

33333333333333333333333333

第三步:創建EF實體模型。

爲了方便管理,我們先創建個文件夾用來存放實體類。

然後右擊文件夾→添加→新建項。如下圖所示:↓

4444444444444444444444

       然後我們左邊菜單選擇:數據→ADO.NET實體數據模型。如下圖所示。↓

5555555555555555

點擊添加之後,我們會看到有幾個選擇, 分別代表:數據庫優先、模型優先、代碼優先。

本Dome選擇來自數據庫的CodeFist,也就是代表:代碼優先。如下圖所示。↓

666666666666666666

點擊下一步之後,再點擊“新建連接”,然後測試連接是否成功,再選擇數據庫。如下圖所示。

777777777777

 

然後再勾選自己所需要生成的實體表,如下圖所示。

999999999999

插入: 這裏若出現選擇是否包含敏感字符時, 選擇“是”, app.config和web.config 裏面最後一行會出現密碼,若選擇否,則不出現密碼。

然後你就會看到EntityModel這個文件夾下會多出兩個類文件,由於我只選擇了一個表生成的,所以是兩個類文件。如下圖所示。

5555555555555555555

然後我們點開“Model1.cs”,首先看到的是一個構造函數, 底下是我們所選表生成的一些代碼,這些我們都不需要關心,都是自動生成的。這個構造函數後面的“name=Model1”就是對應的連接字符串。我們打開App.config便可知。然後把此連接字符串複製粘貼到wcf服務應用程序中的Web.config裏面(必須有的一步)。 如下圖所示。

get {return  }

第五步:定義契約,我們開始寫服務。

       首先我們在“IService1”中定義鍥約。注意:每個鍥約上都要加上[OperationContract]標記。如下圖所示。

111111111111111111111

       然後我們在“Service1.svc”中實現我們所有定義的契約。如下圖所示。

11111111111111111111

到這一步,我們的服務已經完成了。現在我們開始本地測試服務是否有問題,如沒問題再發布到IIS上去。

測試步驟:右擊“Service1.svc” 選擇在瀏覽器中查看,如下圖所示,說明服務沒問題。然後我們再用wcf測試客戶端測試一下我們做的一些操作是否正確。


1111111111111111111111111

如上圖所示,只能說明我們的服務寫的沒問題,但並不確定服務中所寫的一些代碼訪問數據是否正確。那麼我們就在服務端利用WCF測試客戶端調用我們所寫的代碼是否正確。

1111111111111111111111

打開服務端步驟:首先,我們將“Service1.svc”設爲起始頁,然後把整個服務應用程序設爲啓動項目,最後F5運行。如下圖所示。

111111111111111111

 如上圖,我們測試Del,傳入值再調用,如果沒報錯且左下角提示服務調用完成,說明已經成功調用並執行我們所寫的代碼功能。

 下次寫如何將其部署到IIS上


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章