小編給大家分享一下C#如何創(chuàng)建WCF服務(wù)控制臺(tái)應(yīng)用程序,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司成立于2013年,先為廣豐等服務(wù)建站,廣豐等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為廣豐企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
一、開發(fā)環(huán)境
操作系統(tǒng):Windows 10
開發(fā)環(huán)境:VS2015
編程語(yǔ)言:C#
IIS版本:10.0.0.0
二、添加WCF服務(wù)、Internet Information Services(IIS)
1、進(jìn)入“控制面板”,打開“程序和功能”,點(diǎn)擊左上角的“啟用或關(guān)閉Windows功能”后,在“.NET Framework 4.6 高級(jí)服務(wù)”中的子節(jié)點(diǎn)選中“WCF 服務(wù)”,如下圖所示:
2、再找到“Internet Information Services”,同樣選中該節(jié)點(diǎn),如下圖所示:
3、點(diǎn)擊“確定”按鈕以便安裝這些服務(wù)與組件,等待完成安裝即可。
三、新建一個(gè)WCF服務(wù)庫(kù)
1、使用VS2015新建一個(gè)WCF服務(wù)庫(kù),并將項(xiàng)目名稱改為“MyWCFService”,如下圖所示:
2、在解決方案資源管理器里將“IService1”接口、“Service1”類分別重命名為“IMyWCFService”與“MyWCFService”,如下圖所示:
VS2015將會(huì)分別創(chuàng)建“IService1”接口、“Service1”類,“IService1”接口含GetData、GetDataUsingDataContract方法,并使用“Service1”類實(shí)現(xiàn)了該接口,代碼如下:
“IService1”接口:
// 注意: 使用“重構(gòu)”菜單上的“重命名”命令,可以同時(shí)更改代碼和配置文件中的接口名“IMyWCFService”。 [ServiceContract] public interface IService1 { [OperationContract] string GetData(int value); [OperationContract] CompositeType GetDataUsingDataContract(CompositeType composite); // TODO: 在此添加您的服務(wù)操作 } // 使用下面示例中說明的數(shù)據(jù)約定將復(fù)合類型添加到服務(wù)操作。 [DataContract] public class CompositeType { bool boolValue = true; string stringValue = "Hello "; [DataMember] public bool BoolValue { get { return boolValue; } set { boolValue = value; } } [DataMember] public string StringValue { get { return stringValue; } set { stringValue = value; } } }
“Service1”類:
// 注意: 使用“重構(gòu)”菜單上的“重命名”命令,可以同時(shí)更改代碼和配置文件中的類名“Service1”。 public class Service1 : IService1 { public string GetData(int value) { return string.Format("You entered: {0}", value); } public CompositeType GetDataUsingDataContract(CompositeType composite) { if (composite == null) { throw new ArgumentNullException("composite"); } if (composite.BoolValue) { composite.StringValue += "Suffix"; } return composite; } }
3、將鼠標(biāo)移到解決方案資源管理器中項(xiàng)目“MyWCFService”上并右擊鼠標(biāo),彈出上下文菜單,在菜單中選中“發(fā)布”后,彈出下圖所示的“發(fā)布 WCF服務(wù)”對(duì)話框,如下圖所示:
在目標(biāo)位置選擇“D:\WCF”,其他按默認(rèn),點(diǎn)擊“發(fā)布”按鈕,即可在“D:\WCF”文件夾里生成如下圖所示的文件:
四、新建一個(gè)WCF服務(wù)網(wǎng)站
1、點(diǎn)擊打開IIS,新建一個(gè)網(wǎng)站,網(wǎng)站名稱設(shè)置為“MyWCFService”,物理地址選擇“D:\WCF”,端口從默認(rèn)的80改為81,如下圖所示:
2、點(diǎn)擊確定后,即新建一個(gè)WCF服務(wù)網(wǎng)站,我們可以在瀏覽器輸入“http://localhost:81/MyWCFService.MyWCFService.svc”進(jìn)行驗(yàn)證,如下圖所示:
五、新建一個(gè)控制臺(tái)客戶端測(cè)試WCF服務(wù)
1、在原來的解決方案里新建一個(gè)項(xiàng)目名為“WCFTestClient”的控制臺(tái)程序,如下圖所示:
2、鼠標(biāo)右鍵點(diǎn)擊項(xiàng)目“WCFTestClient”,在彈出的上下文菜單中選擇“設(shè)為啟動(dòng)項(xiàng)目”,如下圖所示:
3、鼠標(biāo)右鍵點(diǎn)擊項(xiàng)目“WCFTestClient”子節(jié)點(diǎn)“引用”,在彈出的上下文菜單中選擇“添加服務(wù)引用”,如下圖所示:
4、將彈出“添加服務(wù)引用”對(duì)話框,在“地址”輸入剛剛建的WCF服務(wù)網(wǎng)站地址(http://localhost:81/MyWCFService.MyWCFService.svc),點(diǎn)擊“轉(zhuǎn)到”按鈕之后,將會(huì)在“服務(wù)”列表里列出剛才建的服務(wù),選擇“IMyWCFService”后,將會(huì)在“操作”列表里列出GetData、GetDataUsingDataContract方法,如下圖所示:
5、將命名空間改為“MyWCFReference”后點(diǎn)擊“確定”按鈕之后,將會(huì)在項(xiàng)目“WCFTestClient”子節(jié)點(diǎn)增加“Service References”等,如下圖所示:
6、在Program類上方添加對(duì)WCF服務(wù)引用,并在Main主函數(shù)里輸入以下代碼:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using WCFTestClient.MyWCFReference; namespace WCFTestClient { class Program { static void Main(string[] args) { MyWCFServiceClient client = new MyWCFServiceClient(); Console.WriteLine(client.GetData(123456)); CompositeType cType = new CompositeType() { StringValue = "Hello World!", BoolValue = true }; Console.WriteLine(client.GetDataUsingDataContract(cType).StringValue); } } }
六、運(yùn)行客戶端控制臺(tái)程序
運(yùn)行“WCFTestClient”客戶端控制臺(tái)程序,如下圖所示:
以上是“C#如何創(chuàng)建WCF服務(wù)控制臺(tái)應(yīng)用程序”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!