创建WCF服务

WCF服务

WindowsCommunication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,它是.NET框架的一部分,由.NET Framework 3.0开始引入,与Windows Presentation Foundation及 Windows Workflow Foundation并行为新一代Windows操作系统以及WinFX的三个重大应用程序开发类库。

在.NETFramework 2.0以及前版本中,微软发展了Web Service(SOAP with HTTP communication),.NET Remoting(TCP/HTTP/Pipeline communication)以及基础的Winsock等通信支持,由于各个通信方法的设计方法不同,而且彼此之间也有相互的重叠性(例如.NET Remoting可以开发SOAP, HTTP通信),对于开发人员来说,不同的选择会有不同的程序设计模型,而且必须要重新学习,让开发人员在用户有许多不便。同时,服务导向架构(Service-Oriented Architecture)也开始盛行于软件工业中,因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,这就是Windows Communication Foundation。

WCF能干啥

根据微软官方的解释,WCF(之前的版本名为“Indigo”)是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,如Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息队列。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML, Kerberos,X509,用户/密码,自定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。

以上文字解释抄的 WCF初探-1:认识WCF,在这感谢作者深入浅出的介绍。
由于可能会用到WCFService的知识,所以就学学,现在的WCF由于不能跨平台,而且随着新技术的崛起,逐渐没落了。我们来建立一个WCF服务,测试环境: win7+vs2019+.NET Framework 4.7.2.

一、新建项目

在这里插入图片描述
搜索WCF服务,并创建,这里有可能找不到该项目模板,可以往下拉,点击安装多个工具和功能。在这里插入图片描述
在Visual Studio Installer 安装器里面新增组件,搜索WCF,并安装。
在这里插入图片描述
项目新建好了,就会生成三个模板文件分别是:

IService1.cs 服务实现类, 这里定义契约接口
Service1.svc 服务寄宿文件,这里可以实现接口
Web.config 配置文件

二、运行项目

我们可以直接在Service1.svc文件上,右键在选择浏览器中查看
在这里插入图片描述
这样我们就可以在浏览器上看到了wcf服务了,
在这里插入图片描述
这样就可以调试了,如果还想继续新增其他的服务,可以在菜单栏----> 项目—>添加类,搜寻WCF
在这里插入图片描述
是不是很简单,就创建了一个WCF服务了,至于服务调用的参数和返回的结果,就可以根据实际的情况,编写。

三、发布项目

将做好的项目,托管到IIS上,我这里的IIS是7.5的版本。我这里分开两步,

1. 建立IIS

建立应用程序池,记得使用集成托管模式,.NET Framework 是4.0的
在这里插入图片描述
添加网站,配置端口和项目路径,连接为需要这是一个系统的登录用户,我这里用的是 admin用户
在这里插入图片描述

2. 发布项目

在项目文件夹上点击右键发布,
在这里插入图片描述
这里目录就是刚刚IIS设置的目录:
在这里插入图片描述
点击发布完成。
在这里插入图片描述
就可以了,访问 http://127.0.0.1:9999/Service1.svc ,就能看到刚刚的效果了。
在这里插入图片描述
下一步我们就可以关闭wcf服务端项目,新建一个客户端项目,来调用这个wcf服务。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Visual Studio 中创建 WCF 服务时,有两种项目类型可供选择:WCF 服务应用程序和 WCF 服务库。这两种项目类型有以下区别: 1. WCF 服务应用程序是一种可执行文件,它包含了一个独立的 WCF 服务宿主。这意味着您可以直接运行 WCF 服务应用程序,并使用其自带的服务宿主来运行和测试您的 WCF 服务。当您部署 WCF 服务时,您可以将 WCF 服务应用程序部署到 IIS 或自定义的 Windows 服务中。 2. WCF 服务库是一种库项目,它包含了一个或多个 WCF 服务契约和实现类。这意味着您必须将 WCF 服务库引用到另一个托管应用程序中,然后手动配置该应用程序的服务宿主来运行和测试您的 WCF 服务。当您部署 WCF 服务时,您可以将 WCF 服务库部署到 IIS 中,但必须将其部署为 WCF 服务应用程序的一部分。 3. WCF 服务应用程序和 WCF 服务库的项目结构也不同。WCF 服务应用程序包含了一个 .svc 文件和一个 Web.config 配置文件,用于配置 WCF 服务宿主和服务终结点。而 WCF 服务库只包含 WCF 服务契约和实现类,这些类通常包含在一个或多个 .cs 文件中。 4. 在使用 WCF 服务应用程序时,您可以使用 Visual Studio 自带的 WCF 测试客户端来测试您的 WCF 服务。而在使用 WCF 服务库时,您必须手动编写测试客户端或使用第三方测试工具来测试您的 WCF 服务。 总之,WCF 服务应用程序是一种独立的 WCF 服务宿主,适用于独立运行和测试 WCF 服务。而 WCF 服务库则是一种库项目,适用于将 WCF 服务集成到其他托管应用程序中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值