全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C#创建WCF服务控制台应用程序详解

一、开发环境

操作系统:Windows 10

开发环境:VS2015

编程语言:C#

IIS版本:10.0.0.0

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

1、进入“控制面板”,打开“程序和功能”,点击左上角的“启用或关闭Windows功能”后,在“.NET Framework 4.6 高级服务”中的子节点选中“WCF 服务”,如下图所示:

2、再找到“Internet Information Services”,同样选中该节点,如下图所示:

3、点击“确定”按钮以便安装这些服务与组件,等待完成安装即可。

三、新建一个WCF服务库

1、使用VS2015新建一个WCF服务库,并将项目名称改为“MyWCFService”,如下图所示:

2、在解决方案资源管理器里将“IService1”接口、“Service1”类分别重命名为“IMyWCFService”与“MyWCFService”,如下图所示:

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服务”对话框,如下图所示:

在目标位置选择“D:\WCF”,其他按默认,点击“发布”按钮,即可在“D:\WCF”文件夹里生成如下图所示的文件:

四、新建一个WCF服务网站

1、点击打开IIS,新建一个网站,网站名称设置为“MyWCFService”,物理地址选择“D:\WCF”,端口从默认的80改为81,如下图所示:

2、点击确定后,即新建一个WCF服务网站,我们可以在浏览器输入“http://localhost:81/MyWCFService.MyWCFService.svc”进行验证,如下图所示:

五、新建一个控制台客户端测试WCF服务

1、在原来的解决方案里新建一个项目名为“WCFTestClient”的控制台程序,如下图所示:

2、鼠标右键点击项目“WCFTestClient”,在弹出的上下文菜单中选择“设为启动项目”,如下图所示:

3、鼠标右键点击项目“WCFTestClient”子节点“引用”,在弹出的上下文菜单中选择“添加服务引用”,如下图所示:

4、将弹出“添加服务引用”对话框,在“地址”输入刚刚建的WCF服务网站地址(http://localhost:81/MyWCFService.MyWCFService.svc),点击“转到”按钮之后,将会在“服务”列表里列出刚才建的服务,选择“IMyWCFService”后,将会在“操作”列表里列出GetData、GetDataUsingDataContract方法,如下图所示:

5、将命名空间改为“MyWCFReference”后点击“确定”按钮之后,将会在项目“WCFTestClient”子节点增加“Service References”等,如下图所示:

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  # 控制台  # C# Console.WriteLine()用法案例详解  # C# Console利用mspaint打开图像并保存的方法  # C# Console类的具体用法  # C#控制台程序如何发布到服务器Linux上运行  # C# 创建控制台应用程序  # C# 实现在控制台上换行输出与不换行输出  # 使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)  # 解析C# Console 控制台为什么也会卡死(原因分析)  # 所示  # 如下图  # 新建一个  # 鼠标  # 会在  # 弹出  # 客户端  # 服务网站  # 对话框  # 配置文件  # 菜单中  # 右键点击  # 重命名  # 资源管理  # 重构  # 您的  # 将会  # 在此  # 在弹出  # 设为 


相关文章: 做企业网站制作流程,企业网站制作基本流程有哪些?  如何通过VPS搭建网站快速盈利?  C++如何使用std::optional?(处理可选值)  建站主机选购指南:核心配置与性价比推荐解析  如何快速搭建FTP站点实现文件共享?  宝塔新建站点报错如何解决?  平台云上自主建站:模板化设计与智能工具打造高效网站  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  小程序网站制作需要准备什么资料,如何制作小程序?  西安大型网站制作公司,西安招聘网站最好的是哪个?  建站主机选哪家性价比最高?  C#怎么创建控制台应用 C# Console App项目创建方法  如何通过wdcp面板快速创建网站?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何快速使用云服务器搭建个人网站?  如何在Windows环境下新建FTP站点并设置权限?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  黑客入侵网站服务器的常见手法有哪些?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  建站ABC备案流程中有哪些关键注意事项?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  如何选择PHP开源工具快速搭建网站?  5种Android数据存储方式汇总  如何通过云梦建站系统实现SEO快速优化?  香港服务器租用费用高吗?如何避免常见误区?  Swift中循环语句中的转移语句 break 和 continue  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  魔方云NAT建站如何实现端口转发?  如何自定义建站之星模板颜色并下载新样式?  制作证书网站有哪些,全国城建培训中心证书查询官网?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  海南网站制作公司有哪些,海口网是哪家的?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  如何通过多用户协作模板快速搭建高效企业网站?  制作农业网站的软件,比较好的农业网站推荐一下?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  建站之星后台密码遗忘或太弱?如何重置与强化?  Thinkphp 中 distinct 的用法解析  如何用搬瓦工VPS快速搭建个人网站?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  网站制作难吗安全吗,做一个网站需要多久时间?  建站与域名管理如何高效结合?  如何在服务器上配置二级域名建站?  如何在Windows服务器上快速搭建网站?  再谈Python中的字符串与字符编码(推荐)  如何快速搭建响应式可视化网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。