雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當前位置:主頁 > 軟件編程 > C#教程 >

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

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

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

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

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

編程語言:C#

IIS版本:10.0.0.0

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

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

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

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

三、新建一個WCF服務庫

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

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

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

“IService1”接口:

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

    [OperationContract]
    CompositeType GetDataUsingDataContract(CompositeType composite);

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

  // 使用下面示例中說明的數(shù)據(jù)約定將復合類型添加到服務操作。
  [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”上并右擊鼠標,彈出上下文菜單,在菜單中選中“發(fā)布”后,彈出下圖所示的“發(fā)布 WCF服務”對話框,如下圖所示:

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

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

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

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

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

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

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

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

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

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

6、在Program類上方添加對WCF服務引用,并在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)容,希望對大家的學習有所幫助,也希望大家多多支持我們。

上一篇:C#使用Http Post方式傳遞Json數(shù)據(jù)字符串調(diào)用Web Service

欄    目:C#教程

下一篇:使用C#的正則表達式驗證中文字符(實例代碼)

本文標題:C#創(chuàng)建WCF服務控制臺應用程序詳解

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5563.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權所有