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

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

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

一、開發(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)程序,如下圖所示:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Unity中的RegisterPlugins實(shí)用案例深入解析

    Unity中的RegisterPlugins實(shí)用案例深入解析

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

    C# 如何獲取處于運(yùn)行中的Excel、Word對(duì)象

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

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

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

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

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

    C#中的委托介紹

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

    C#的字符串比較

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

    輕松學(xué)習(xí)C#的ArrayList類

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

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

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

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

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

    c#中的泛型委托詳解

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

最新評(píng)論