首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WCF系列教程之WCF服务宿主与WCF服务部署

如果我们需要使用WCF服务,那么我们就必须将服务寄宿与创建它并控制它的上下文和生存期的运行时环境当中,承载服务的环境,称之为宿主。WCF服务可以在支持托管代码的任意Windows进程中运行。...WCF提供了统一编程模型,用于生成面向服务的应用程序。此编程模型保持一致且独立于部署服务的运行时环境。 实际上,这意味着不管使用什么宿主选项,服务的代码看起来都非常类似。...二、WCF宿主环境主要有以下几种 1、托管应用程序中的自承载 WCF服务可以承载与任何托管应用程序中,这是最灵活的选项,因为它需要部署的基础结构最少,在托管应用程序代码内嵌入服务代码,然后创建并打开 ServiceHost...5、Internet信息服务(IIS) 在IIS中承载WCF服务,之前已经创建了契约层和服务层,这里就不创建了。 第一步:新建IISHost空Web应用程序,作为WCF服务的宿主 ?...ok,说明Calculate服务部署成功! 第五步:使用wcftestclicnt进行测试 ? ok,IIS作为宿主部署WCF服务成功!

1.4K80

使用自定义行为扩展 WCF

Windows® Communication Foundation (WCF) 提供了许多扩展点,供开发人员自定义运行时行为,从而实现服务调度和客户代理调用。...您可以通过编写能以声明方式应用到服务中的自定义行为来使用这些扩展点。本月将为您介绍这一流程的工作原理。...WCF 可扩展性 在上期专栏中,我重点介绍了 WCF 绑定概念,您可以为 WCF 服务上的各个终结点指定绑定。绑定控制该终结点的消息传递详细信息(发生在网络上的情况)。...您会注意到,该图与图 2 非常相似,但是在该图中,扩展点是按相反顺序执行的,并且多了几个图 2 的客户端中不存在的扩展点。 ?...您的自定义调度程序/代理扩展可以使用这些集合存储(并查询)整个管道中用户定义的状态。 总结 WCF 提供了一个强大的扩展体系结构,可用于进行大量的运行时自定义。

1.8K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 WCF Web Service Reference Provider 工具

    WCF Web 服务引用工具是 Visual Studio 连接服务的扩展,提供了类似于 .NET Core 和 ASP.NET Core 项目的“添加服务引用”功能的体验 。...系统必备 Visual Studio 2017 版本 15.5 或更高版本 如何使用扩展 备注 “WCF Web 服务引用”选项适用于使用以下项目模板创建的项目 : Visual C# > .NET...此操作将显示“配置 WCF Web 服务引用”向导 : 选择服务。 3a....“配置 WCF Web 服务引用”向导中提供了多个服务搜索选项 : 要搜索当前解决方案中定义的服务,请单击“发现”按钮 。...数据服务 .NET Core 上 WCF 支持的功能 反馈和问题 如果你有任何产品反馈,请使用报告问题工具在开发者社区进行报告。

    1.9K30

    快速入门系列--WCF--08扩展与新特性

    最后一章将进行WCF扩展和新特性的学习,这部分内容有一定深度,有一个基本的了解即可,当需要自定义一个完整的SOA框架时,可以再进行细致的学习和实践。...分发运行时DispatcherRuntime是整个WCF服务端运行的核心,其包含很多扩展组件,例如关于安全的ServiceAuthenticationManager、ServiceAuthorizationManager...、RoleProvider和AuthorizationPolicy,与服务激活相关的实例提供者、上下文提供者、单例实例上下文和实例上下文初始化器,与并发控制有关的同步上下文,可以对接受的请求消息和回复消息进行相应操作的消息检验器...通过定义四种行为对WCF扩展,这4中行为分别是服务行为、终结点行为、契约行为和操作行为,它们具有相同的4个方法Validate、AddBindingParameters、ApplyDispatchBehavior...标准终结点 描述 mexEndpoint 用于公开服务元数据的标准终结点 dynamicEndpoint 使用WS-Discovery在运行时动态查找终结点地址的标准终结点 discoveryEndpoint

    63870

    使用WCF进行跨平台开发之二(IIS托管WCF服务并使用php平台调用)1.系统必备2.在IIS中托管WCF服务3.使用PHP调用托管在IIS中的WCF服务

    上一篇中,使用控制台托管了WCF服务,但是如果想从PHP和java平台调用,必须将其托管到IIS中(并不是必须的,还是有其他的方式的 比如windows azure) 1.系统必备      首先,必须打开...在新建的虚拟目录对应的实际目录中,添加web.config文件,配置wcf服务和终结点,并打开元数据公开,然而,因为这里不是使用常用的svc文件托管的服务,所以需要serviceActivations节点配置服务...3.使用PHP调用托管在IIS中的WCF服务 在PHP服务器中打开浏览器,并浏览http://192.168.11.1/emp/EmployeeManagement.svc测试服务是否托管正常。 ?...出现以上页面,证明在IIS中托管正常,现在,可以使用php开发程序调用此服务啦。...> 开启php服务器,访问页面,出结果: ? 下一章将续写java访问WCF服务的具体操作,可是已经到饭点啦。先做个决定。。。。。

    2.1K70

    使用WCF实现SOA面向服务编程—— 架构设计

    使用WCF实现SOA,正好可以利用 WCF的灵活性,把业务层封装,发布为Web服务。这样可以降低系统的耦合度,加大对未知业务的扩展性。 ?   ...使用WCF实现SOA,可以对事务、安全、编码等进行统一管理,协调了各服务器之间的系统操作。...WCF既支持具有互操作性的Web服务,也能够实现.NET客户端 与.NET服务端的通信,提供了分布式事务的支持,同时在安全性上,它完全遵循了WS-*的标准,此外,它还支持队列服务,可以非常方便地利用消息队列完...成异步操作与脱机调用。...在众多优点的支持下,使用WCF实现SOA面向服务开发不失为一种理想地选择。 下载原代码

    56210

    快速入门系列--WCF--02消息、会话与服务寄宿

    经过WCF基础的ABC学习,已经可以构建简单的WCF的服务,使用不同的服务地址和绑定类型,根据业务提供所需的服务契约。但不禁想问,服务所使用的消息报文是什么样的形式么?蕴含什么样内容呢?...WCF服务是否支持会话?WCF所提供的服务是单例的呢还是单调的呢?服务寄宿和客户端代理是如何实现的呢?...接下来,将以这些问题为线索进行深入学习,包容包括XML序列化与SOAP消息、会话与实例、服务寄宿与客户端代理。 ?...数据契约的等价性 在生产系统中,会出现修改接口的场景(例如添加删除接口方法数据成员,尽量避免),可能会对原有系统造成破坏,可以通过使用系统提供的扩展字段来避免这样的情况发生,附上一个可空的例子。...Tip:高性能和可伸缩性是软件设计与架构中永远不可同时兼顾的,高性能需要充足的资源,高扩展性需要尽可能的节约资源,所以才有软件架构是意向"权衡"的艺术,目的不是使得各方面达到最优,而是找到一个平衡点使得整体最优

    1.3K50

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

    )  1、进入“控制面板”,打开“程序和功能”,点击左上角的“启用或关闭Windows功能”后,在“.NET Framework 4.6 高级服务”中的子节点选中“WCF 服务”,如下图所示: ?...3、点击“确定”按钮以便安装这些服务与组件,等待完成安装即可。 三、新建一个WCF服务库 1、使用VS2015新建一个WCF服务库,并将项目名称改为“MyWCFService”,如下图所示: ?...2、在解决方案资源管理器里将“IService1”接口、“Service1”类分别重命名为“IMyWCFService”与“MyWCFService”,如下图所示: ?...} // 使用下面示例中说明的数据约定将复合类型添加到服务操作。...四、新建一个WCF服务网站 1、点击打开IIS,新建一个网站,网站名称设置为“MyWCFService”,物理地址选择“D:\WCF”,端口从默认的80改为81,如下图所示: ?

    2.1K00

    使用C#创建及调用WCF完整实例 (Windows服务宿主)

    这里直接说使用Windows 服务(Windows Service)作为宿主如何实现,其它方式不在此次教程之内 文章最后有本例的下载连接,包含源代码、说明教程、编译后文件 实例环境:Windows Server...2008 R2 + VS 2010(C#) 打开 VS 2010,选择 新建项目,选择 ”WCF”|”WCF 服务库 ”,注意这里是”WCF 服务库 ”,不是"WCF 服务应用程序" ?...好了,WCF服务库的代码部分就结束了,下面要开始配置,打开项目下的App.config文件 ?...|add节点,baseAddress等于号后的双引号中的字符串即为服务地址,注意如果是生产环境,那么你服务所使用的端口号在开启。...(下载连接中的教程中此图使用错误,应该是这样的图,教程中使用的是在WindowsService1中的服务引用的图) ? ?

    4.8K70

    一个简单的小程序演示Unity的三种依赖注入方式

    今天写《WCF技术剖析(卷2)》关于《WCF扩展》一章,举了“如何通过WCF扩展实现与IoC框架(以Unity为例)集成”(《通过自定义ServiceHost实现对WCF的扩展[实例篇]》)的例子。...比如,在类型A中需要使用类型B的实例,而B实例的创建并不由A来负责,而是通过外部容器来创建。 有时我们又将IoC成为依赖注入(DI: Dependency Injection)。...如果被选择的构造函数具有相应的参数,IoC容器在调用构造函数之前会自定义创建相应参数对象; 属性注入(Property Injection):如果需要使用到被依赖对象的某个属性,在被依赖对象被创建之后...在开源社区,具有很有流行的IoC框架,比如Castle Windsor、Unity、Spring.NET、StructureMap、Ninject等。

    1.7K70

    使用WCF进行跨平台开发之三(JAVA调用WCF服务)1.开发必备2.生成WCF客户端3.开发程序4.结束语

    前两篇写了在.net中和php中调用WCF。...这一篇将要解决java中调用WCF的问题,使用的依旧是上一篇中托管在IIS中的WCF服务,本来我是打算用axis来写这篇文章的,可就在我开始之前,无意中发现了在java包中自带的wsimport工具,用起来是极为爽快...所以,就它吧      其实在有了wsimport,在java调用wcf的时候是极为简单的,当然这是建立在使用不太复杂的服务的情况下,如果还要考虑安全验证、发布订阅等问题,还是相对复杂的,但是这三篇文章没准备写那么多...2.生成WCF客户端      使用的就是上面提到的wsimport,如果您正确的配置了java环境变量,就可以直接在控制台中使用了,简历文件夹x:/workspace/EmployeeManager/...ObjectFactory帮助设置,因为这里的类型有别与基础类型 emp.setId(factory.createEmployeeId("dev001")); emp.setName

    1.6K50

    通过自定义ServiceHost实现对WCF的扩展

    在《原理篇》中我们谈到了通过自定义ServiceHost对WCF进行扩展的本质,以及在IIS/WAS寄宿情况下ServiceHostFactory的作用。...接下来通过一个具体的例子来演示如何通过WCF扩展实现以Unity为代表的IoC框架的集成,以及应用该扩展的ServiceHost和ServiceHostFactory如何定义。...现在我们就以Unity为例,介绍通过WCF的扩展如何实现基于IoC的服务实例的创建。...我们依然沿用之前演示的资源服务的例子。在前面演示的例子(《通过“四大行为”对WCF的扩展[实例篇]》)中,我们直接通过获取定义在资源文件(.resx)的方式提供服务的实现。...通过自定义ServiceHost实现对WCF的扩展[原理篇] 通过自定义ServiceHost实现对WCF的扩展[实例篇]

    90680

    WCF和ASP.NET Web API在应用上的选择

    作为ASP.NET MVC 4的一部分,ASP.NET Web API这套开源框架的设计目的是简化RESTful服务的开发和使用。...ASP.NET Web API 与之前的内建HTTP服务解决方案的不同之处在于,它一开始就是围绕HTTP协议及其消息语义构建起来的。...与WCF REST或ASP.NET AJAX加ASMX相比,它不是对现有框架的增强,而是一个全新的平台。...HTTP特性的深度支持 基于惯例的设计引导用户按HTTP Services的正确方式行事 Formatters和Filters延续了MVC的扩展模型,具备出色的扩展能力 用于非Web程序时,可以脱离IIS...我们完全也可以这样搭配,在内部通讯采用WCF + Protobuf-NET,参看《WCF服务上应用protobuf》,对外的服务采用ASP.NET WEB API。

    1.5K80

    .NET 附加工具概述

    此工具专门供采用 .NET 编写并且需要 .NET 启动其各个部分的扩展(例如语言服务器)使用。 此扩展并非直接供用户用来安装用于开发的 .NET。...此工具可从网络位置上当前解决方案的 Web 服务中,或从 WSDL 文件中检索元数据。 还可生成与 .NET 兼容的源文件并使用可用于访问 Web 服务操作的方法定义 WCF 代理类。...WCF dotnet-svcutil 工具 WCF dotnet-svcutil 工具是一个 .NET 工具,可从网络位置上的 Web 服务中或从 WSDL 文件中检索元数据。...还可生成与 .NET 兼容的源文件并使用可用于访问 Web 服务操作的方法定义 WCF 代理类。...dotnet-svcutil 工具是 WCF Web Service Reference Visual Studio 连接服务提供程序(随 Visual Studio 2017 版本 15.5 首次推出

    79550

    C# WCF服务

    由于WCF完全是由托管代码编写,因此开发WCF的应用程序与开发其它的.Net应用程序没有太大的区别,我们仍然可以像创建面向对象的应用程序那样,利用WCF来创建面向服务的应用程序。...WCF充分的考虑到了与旧有系统的兼容性。安装WCF并不会影响原有的技术如ASMX和.Net Remoting。...即使对于WCF和ASMX而言,虽然两者都使用了SOAP,但基于WCF开发的应用程序,仍然可以直接与ASMX进行交互。 4:可扩展性。 WCF提供可扩展性,可以支持出新的web服务标准。...序列化:WCF支持DataContract串行采用System.Runtime.Serialization,而Web服务通过使用System.Xml.Serialization支持XML序列化。...异常处理:在WCF中,未处理的异常都是在一个更好的方式通过使用FaultContract处理,并没有得到Web服务SOAP(简单对象访问协议)故障返回给客户端等。

    92520

    菜菜从零学习WCF一(WCF概述)

    Asp.Net Web 服务(ASMX) 这种技术用于与基于J2EE的现有预定应用程序,以及与Internet上的合作伙伴应用程序进行通信。...WSE(ASMX的加强版)   可与ASMX一起使用,以便与基于J2EE的预定应用程序以及合作伙伴应用程序进行通信,它实现了最新定义的一些Web服务协议(统称WS_*规范),因此只要相关所有应用程序都支持这些新规范的兼容版本...那么如果使用WCF: WCF可使用Web服务进行通信,因此与同样支持SOAP的其他平台(例如基于J2EE的主流应用程序服务器)建的胡曹祖行就变得简单明了。   ...还可以对WCF进行配置和扩展,以便与使用并非基于SOAP的消息(例如RSS这种简单的XML格式)的Web服务进行通信。   ...WCF将Web服务的概念直接映射到.Net Framework公共语言运行库(CLR)中的对应内容,包括将消息灵活且可扩展地映射到用诸如Visual C#或Visual Basic等语言实现的服务。

    1.3K20
    领券