一、开发环境

操作系统: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小时内与您取得联系。