一線碼農(nóng)WCF系列課程1

QQ群號: 784332913
視頻地址:https://www.bilibili.com/medialist/play/ml740444734
視頻筆記對應(yīng)地址:https://pan.baidu.com/s/1sMG2qA1TUPTjOj247MobFw

SOA面向服務(wù)架構(gòu)

第一階段:面向?qū)ο螅航鉀Q代碼維護性問題【設(shè)計模式】
第二階段:面向組件:解決代碼復(fù)用性問題【html=>一個頁面分成了各個組件(ES6,JSX,SCSS),讓js成了一個面向?qū)ο蟮恼Z言】
第三階段:面向服務(wù):解決不同語言系統(tǒng)之間的不能信息互通的問題。
舉例:java開發(fā)的OA系統(tǒng),asp開發(fā)的商城系統(tǒng),asp.net開發(fā)的訪客系統(tǒng),想要互通信息

WCF在SOA面向服務(wù)架構(gòu)浪潮下的出現(xiàn)

SOA思想下各語言發(fā)展

從圖中可以看出:
1、WCF是微軟整合.net下所有分布式技術(shù)的結(jié)果
2、WCF本質(zhì)上是一個Asp.Net Web Service,但是它又兼容了restful模式。
3、WCF出現(xiàn)在ws標(biāo)準(zhǔn)盛行時,后來restful模式盛行,微軟不得已適配了restful模式。

創(chuàng)建第一個WCF程序

創(chuàng)建WCF服務(wù)庫

單純的WCF項目,沒有宿主,

1、新建項目一>模版一>WCF一>WCF服務(wù)庫
2、F5 或者 點擊定居工具欄啟動 調(diào)試功能。


啟動設(shè)置

3、WCF測試客戶端簡單測試demo接口:
選中“GetData()”方法,更改value值為5,點擊調(diào)用查看接口返回結(jié)果。

點擊調(diào)用查看接口返回結(jié)果
創(chuàng)建宿主程序—控制臺程序

1、選中解決方案一>右鍵一>選中添加一>選中新建項目一>模版一>Visual C#一>控制臺應(yīng)用程序(.Net Framework)。


在wcf服務(wù)庫添加宿主

注意:一線碼農(nóng)WCF系列課程1里面SOA思想下各語言發(fā)展的宿主都是可以的。
2、項目添加引用“System.ServiceModel” 和 宿主項目“WcfServiceLibrary4”

項目添加引用

搜索找到點擊確定

3、在Program.cs引入
using System.ServiceModel;
using WcfServiceLibrary4;
4、啟動ServiceHost
//創(chuàng)建ServiceHost,參數(shù)是它承載的service名字
ServiceHost host = new ServiceHost(typeof(Service1));
host.Open();
5、把WCF服務(wù)庫的App.config拖拽到宿主程序名字上,替換宿主程序App.config。
WCF服務(wù)庫的App.config和宿主程序App.config里面的“add baseAddress = ” 的端口號改的不一樣
6、更改baseAddress地址更像一個接口地址
<system.serviceModel>這個節(jié)點下內(nèi)容都是wcf自動生成的
serviceBehaviors標(biāo)簽里面的httpGetEnabled="True"是指:http能否訪問元數(shù)據(jù)

<service name="WcfServiceLibrary4.Service1">WCF服務(wù)庫的實例名字
<endpoint address="" binding="basicHttpBinding" contract="WcfServiceLibrary4.IService1">contract表示W(wǎng)CF服務(wù)庫的接口名字
7、F5 或者 點擊定居工具欄啟動 調(diào)試功能。


成功標(biāo)志

注意:如果是同一個電腦直接瀏覽器訪問baseAddress,如果是不同電腦訪問需要把baseAddress里面的localhost改為開發(fā)電腦的IP。
但是請注意這時候還不是常用的http傳輸json的接口,所以不能用postman測試。

創(chuàng)建WCF客戶端:服務(wù)引用

點擊客戶端項目的引用一>右鍵一>添加服務(wù)引用一>地址(服務(wù)端baseAddress活著訪問成功標(biāo)志圖里svcutil開頭的地址)一>點擊"GO",獲取服務(wù)操作一>輸入新的命名空間NewServiceName一>點擊確定
在Program.cs的main函數(shù)編輯代碼:

NewServiceName.ServiceClient client = new NewServiceName.ServiceClient();
var result = client.GetData(10);
Console.WriteLine(result);
Console.Read();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容