當前位置:
首頁 > 知識 > 使用C創建WCF服務控制台應用程序

使用C創建WCF服務控制台應用程序

一、開發環境

操作系統:Windows 10

開發環境:VS2015

編程語言:C#

IIS版本:10.0.0.0

二、添加WCF服務、Internet Information Services(IIS)

1、進入「控制面板」,打開「程序和功能」,點擊左上角的「啟用或關閉Windows功能」後,在「.NET Framework 4.6 高級服務」中的子節點選中「WCF 服務」,如下圖所示:

使用C創建WCF服務控制台應用程序

2、再找到「Internet Information Services」,同樣選中該節點,如下圖所示:

使用C創建WCF服務控制台應用程序

3、點擊「確定」按鈕以便安裝這些服務與組件,等待完成安裝即可。

三、新建一個WCF服務庫

1、使用VS2015新建一個WCF服務庫,並將項目名稱改為「MyWCFService」,如下圖所示:

使用C創建WCF服務控制台應用程序

2、在解決方案資源管理器里將「IService1」介面、「Service1」類分別重命名為「IMyWCFService」與「MyWCFService」,如下圖所示:

使用C創建WCF服務控制台應用程序

VS2015將會分別創建「IService1」介面、「Service1」類,「IService1」介面含GetData、GetDataUsingDataContract方法,並使用「Service1」類實現了該介面,代碼如下:

「IService1」介面:

// 注意: 使用「重構」菜單上的「重命名」命令,可以同時更改代碼和配置文件中的介面名「IMyWCFService」。
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value);

[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);

// TODO: 在此添加您的服務操作
}

// 使用下面示例中說明的數據約定將複合類型添加到服務操作。
[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」類:

// 注意: 使用「重構」菜單上的「重命名」命令,可以同時更改代碼和配置文件中的類名「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、將滑鼠移到解決方案資源管理器中項目「MyWCFService」上並右擊滑鼠,彈出上下文菜單,在菜單中選中「發布」後,彈出下圖所示的「發布 WCF服務」對話框,如下圖所示:

使用C創建WCF服務控制台應用程序

在目標位置選擇「D:WCF」,其他按默認,點擊「發布」按鈕,即可在「D:WCF」文件夾里生成如下圖所示的文件:

使用C創建WCF服務控制台應用程序

四、新建一個WCF服務網站

1、點擊打開IIS,新建一個網站,網站名稱設置為「MyWCFService」,物理地址選擇「D:WCF」,埠從默認的80改為81,如下圖所示:

使用C創建WCF服務控制台應用程序

2、點擊確定後,即新建一個WCF服務網站,我們可以在瀏覽器輸入「http://localhost:81/MyWCFService.MyWCFService.svc」進行驗證,如下圖所示:

使用C創建WCF服務控制台應用程序

五、新建一個控制台客戶端測試WCF服務

1、在原來的解決方案里新建一個項目名為「WCFTestClient」的控制台程序,如下圖所示:

使用C創建WCF服務控制台應用程序

2、滑鼠右鍵點擊項目「WCFTestClient」,在彈出的上下文菜單中選擇「設為啟動項目」,如下圖所示:

使用C創建WCF服務控制台應用程序

3、滑鼠右鍵點擊項目「WCFTestClient」子節點「引用」,在彈出的上下文菜單中選擇「添加服務引用」,如下圖所示:

使用C創建WCF服務控制台應用程序

4、將彈出「添加服務引用」對話框,在「地址」輸入剛剛建的WCF服務網站地址(http://localhost:81/MyWCFService.MyWCFService.svc),點擊「轉到」按鈕之後,將會在「服務」列表裡列出剛才建的服務,選擇「IMyWCFService」後,將會在「操作」列表裡列出GetData、GetDataUsingDataContract方法,如下圖所示:

使用C創建WCF服務控制台應用程序

5、將命名空間改為「MyWCFReference」後點擊「確定」按鈕之後,將會在項目「WCFTestClient」子節點增加「Service References」等,如下圖所示:

使用C創建WCF服務控制台應用程序

6、在Program類上方添加對WCF服務引用,並在Main主函數里輸入以下代碼:

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);
}
}
}

六、運行客戶端控制台程序

運行「WCFTestClient」客戶端控制台程序,如下圖所示:

使用C創建WCF服務控制台應用程序

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 達人科技 的精彩文章:

Redis Pipeline原理分析
redis源碼筆記(一)——從redis的啟動到command的分發

TAG:達人科技 |

您可能感興趣

TCL凈水器智能TCSM客戶服務系統,管理用戶的信息
ALD利用Whim出行即服務應用 為芬蘭用戶提供汽車共享服務
用KPPW搭建一個沐風眾包平台,領先機械技術服務業!
F5應用程序保護報告:金融服務行業在用的Web應用程序最多
JUICE LA 限時提供客制化 CLOT 刺繡服務
阿里AI與GUESS合作 用「AI搭配師」服務消費者
『新酷應用』HTC Vive圖書館計劃:用VR服務生活
Cisco交換機DHCP中繼服務配置及應用實例
配置衝突所致?AT&T寬頻用戶無法使用.1 DNS服務
AT&T寬頻用戶無法使用.1 DNS服務 官方稱正在修復
NET Core微服務之服務間的調用方式
SEC成立FinHub,服務於ICO創業公司
開通免費試用自動續費!關於任天堂SWITCH在線服務FAQ
Uber關閉菲律賓業務 建議用戶選擇Grab服務
NASA將研究如何利用商業夥伴關係獲取太空通信服務
我國人工智慧項目指南與細則近期將發布;北京將利用區塊鏈等技術打造新型信用監管格局;Uber本周將啟動自動駕駛計程車服務
觀察|華為向Mate、P系列用戶提供專屬服務 樹品質服務典範
法國Leti機構和硅製造代理服務機構CMP宣布推出全球首個採用集成矽片氧化物電阻存儲器的多項目晶圓服務
IBM即將推出雲服務,使用機器學習演算法將PDF文檔數字化
Cisco交換機 DHCP服務配置命令與實驗