欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#創(chuàng)建WCF服務(wù)控制臺應用程序詳解

 更新時間:2017年07月13日 10:09:34   作者:cnc  
這篇文章主要為大家詳細介紹了C#創(chuàng)建WCF服務(wù)控制臺應用程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、開發(fā)環(huán)境

操作系統(tǒng):Windows 10

開發(fā)環(huán)境:VS2015

編程語言:C#

IIS版本:10.0.0.0

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

1、進入“控制面板”,打開“程序和功能”,點擊左上角的“啟用或關(guān)閉Windows功能”后,在“.NET Framework 4.6 高級服務(wù)”中的子節(jié)點選中“WCF 服務(wù)”,如下圖所示:

2、再找到“Internet Information Services”,同樣選中該節(jié)點,如下圖所示:

3、點擊“確定”按鈕以便安裝這些服務(wù)與組件,等待完成安裝即可。

三、新建一個WCF服務(wù)庫

1、使用VS2015新建一個WCF服務(wù)庫,并將項目名稱改為“MyWCFService”,如下圖所示:

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

VS2015將會分別創(chuàng)建“IService1”接口、“Service1”類,“IService1”接口含GetData、GetDataUsingDataContract方法,并使用“Service1”類實現(xiàn)了該接口,代碼如下:

“IService1”接口:

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

    [OperationContract]
    CompositeType GetDataUsingDataContract(CompositeType composite);

    // TODO: 在此添加您的服務(wù)操作
  }

  // 使用下面示例中說明的數(shù)據(jù)約定將復合類型添加到服務(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)”菜單上的“重命名”命令,可以同時更改代碼和配置文件中的類名“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”上并右擊鼠標,彈出上下文菜單,在菜單中選中“發(fā)布”后,彈出下圖所示的“發(fā)布 WCF服務(wù)”對話框,如下圖所示:

在目標位置選擇“D:\WCF”,其他按默認,點擊“發(fā)布”按鈕,即可在“D:\WCF”文件夾里生成如下圖所示的文件:

四、新建一個WCF服務(wù)網(wǎng)站

1、點擊打開IIS,新建一個網(wǎng)站,網(wǎng)站名稱設(shè)置為“MyWCFService”,物理地址選擇“D:\WCF”,端口從默認的80改為81,如下圖所示:

2、點擊確定后,即新建一個WCF服務(wù)網(wǎng)站,我們可以在瀏覽器輸入“http://localhost:81/MyWCFService.MyWCFService.svc”進行驗證,如下圖所示:

五、新建一個控制臺客戶端測試WCF服務(wù)

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

2、鼠標右鍵點擊項目“WCFTestClient”,在彈出的上下文菜單中選擇“設(shè)為啟動項目”,如下圖所示:

3、鼠標右鍵點擊項目“WCFTestClient”子節(jié)點“引用”,在彈出的上下文菜單中選擇“添加服務(wù)引用”,如下圖所示:

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

5、將命名空間改為“MyWCFReference”后點擊“確定”按鈕之后,將會在項目“WCFTestClient”子節(jié)點增加“Service References”等,如下圖所示:

6、在Program類上方添加對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);
    }
  }
}

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

運行“WCFTestClient”客戶端控制臺程序,如下圖所示:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Unity中的RegisterPlugins實用案例深入解析

    Unity中的RegisterPlugins實用案例深入解析

    這篇文章主要為大家介紹了Unity中的RegisterPlugins實用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • C# 如何獲取處于運行中的Excel、Word對象

    C# 如何獲取處于運行中的Excel、Word對象

    這篇文章主要介紹了C# 獲取處于運行中的Excel、Word對象操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • C#連接數(shù)據(jù)庫的幾種方法

    C#連接數(shù)據(jù)庫的幾種方法

    這篇文章介紹了C#連接數(shù)據(jù)庫的幾種方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#面向?qū)ο缶幊讨薪涌诟綦x原則的示例詳解

    C#面向?qū)ο缶幊讨薪涌诟綦x原則的示例詳解

    在面向?qū)ο缶幊讨?,SOLID?是五個設(shè)計原則的首字母縮寫,旨在使軟件設(shè)計更易于理解、靈活和可維護。本文將通過實例詳細講講C#面向?qū)ο缶幊讨薪涌诟綦x原則,需要的可以參考一下
    2022-07-07
  • C#中的委托介紹

    C#中的委托介紹

    這篇文章主要介紹了C#中的委托介紹,本文講解了聲明委托的方式、匿名方法、多播委托等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • C#的字符串比較

    C#的字符串比較

    這篇文章主要介紹了c# 字符串操作的相關(guān)知識,文中講解的非常詳細,代碼幫助大家更好的學習,感興趣的朋友可以參考下,希望能給你帶來幫助
    2021-07-07
  • 輕松學習C#的ArrayList類

    輕松學習C#的ArrayList類

    輕松學習C#的ArrayList類,對C#的ArrayList類感興趣的朋友可以參考本篇文章,幫助大家更靈活的運用C#的ArrayList類
    2015-11-11
  • C#循環(huán)與循環(huán)控制的表達式樹實現(xiàn)

    C#循環(huán)與循環(huán)控制的表達式樹實現(xiàn)

    這篇文章介紹了C#循環(huán)與循環(huán)控制的表達式樹實現(xiàn),文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • C#獲取CPU處理器核心數(shù)量的方法

    C#獲取CPU處理器核心數(shù)量的方法

    本文主要介紹了C#獲取CPU處理器核心數(shù)量的方法,代碼簡單易懂,具有很好的參考價值,需要的朋友可以看下
    2016-12-12
  • c#中的泛型委托詳解

    c#中的泛型委托詳解

    本文主要介紹了c#中的泛型委托。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01

最新評論