上一篇中,使用控制台托管了WCF服务,但是如果想从PHP和java平台调用,必须将其托管到IIS中(并不是必须的,还是有其他的方式的 比如windows azure) 1.系统必备 首先,必须打开...IIS和WAS,如果没有,可以在控制面板--程序--打开或关闭Windows功能打开。 ...2.在IIS中托管WCF服务 在IIS默认网站中添加应用程序emp,并在高级设置中,设置应用程序池为“ASP.NET v4.0”,并设置默认网站右键--编辑版定,在http类型中编辑IP地址和主机名...3.使用PHP调用托管在IIS中的WCF服务 在PHP服务器中打开浏览器,并浏览http://192.168.11.1/emp/EmployeeManagement.svc测试服务是否托管正常。 ?...出现以上页面,证明在IIS中托管正常,现在,可以使用php开发程序调用此服务啦。
在《再谈IIS与ASP.NET管道》介绍各种版本的IIS的设计时,我们谈到IIS 7.0因引入WAS提供了对非HTTP协议的支持。...为了将一个IIS中的Web应用作为WCF服务的宿主,并采用非HTTP的通信协议,我们不但需要为Web应用所在的站点添加相应的站点绑定(net.tcp、net.pipe和net.msmq等),还需要为Web...然后在该站点下创建了一个名称为WcfServices的Web应用,映射的物理路径是C:\WcfServices\Service。...IIS 7.0中用于控制站点绑定和Web应用针对某个协议的支持的配置文件为applicationHost.config,该配置文件保存的目录为%windir%\system32\inetsrv\config...如图7-11所示,如果我们在IIS管理器中选择相应的站点,在右边“编辑网站”一栏会出现一个“绑定…”按钮。点击该按钮会出现一个“网站绑定”的对话框,当前站点的所有绑定会在这个对话框中列表。
1.在IIS中承载 2.在Windows 进程激活服务(WAS)中承载 3.在托管应用程序中承载(自承载) 第一种在IIS中承载 WCF可以方便的通过IIS承载。...此环境适合开发可通过WCF支持的任何网络协议(HTTP 、net.tcp、net.pipe和net.msmq)进行通信的WCF服务 --IIS承载的好处 -可像处理任何其他任何类型的IIS应用程序...选择WCF服务应用程序,添加项目名称后,就会自动生成相应文件 ?...重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Service1”。...这是关于IIS承载WCF服务示例代码 关于 在Windows 进程激活服务(WAS)中承载后面再补上
当客户端第一次获取一些数据的时候,如ASP.NET应用程序用户提供一些信息资料,或者从数据库中读取的信息,它可以使用AppFabric Caching Services客户端类库将一个唯一的名称和这些信息一起存放在缓存群集中...在 WAS 中托管服务时,将不会创建服务实例,直到接收到递送至该服务的消息。这表示最初服务启动时,必须通过分配内存、加载库以及创建对象等方式初始化新的实例。...现成的 .NET 为以下协议提供了激活器: http:为 IIS 7.0 和 WCF 提供了 HTTP 激活。 net.tcp:提供了基于 TCP 端口的激活。...net.pipe:提供了基于命名管道的激活。 net.msmq:使用基于 WCF 的消息队列 (MSMQ) 应用程序。...若要解决基于消息的激活的限制,AppFabric 托管服务可以利用 Windows Server 2008 R2 和 Windows 7 提供的 IIS 自动启动功能,在进行了部署以后自动启动托管 WAS
当客户端第一次获取一些数据的时候,如ASP.NET应用程序用户提供一些信息资料,或者从数据库中读取的信息,它可以使用AppFabric Caching Services客户端类库将一个唯一的名称和这些信息一起存放在缓存群集中...AppFabric 托管服务结合 WAS 使用,为中间层 WCF 和 WF 应用程序提供可靠的宿主环境。WAS 提供的功能有: 应用程序和工作进程的基于消息的激活。...在 WAS 中托管服务时,将不会创建服务实例,直到接收到递送至该服务的消息。这表示最初服务启动时,必须通过分配内存、加载库以及创建对象等方式初始化新的实例。...net.pipe:提供了基于命名管道的激活。 net.msmq:使用基于 WCF 的消息队列 (MSMQ) 应用程序。...若要解决基于消息的激活的限制,AppFabric 托管服务可以利用 Windows Server 2008 R2 和 Windows 7 提供的 IIS 自动启动功能,在进行了部署以后自动启动托管 WAS
托管功能 AppFabric 托管功能依靠 WAS 为 WCF 和 WF 服务提供宿主环境,并扩展 IIS 管理控制台,为 WAS 托管的服务提供管理和配置工具。...Windows PowerShell cmdlet 虽然在 IIS 管理控制台内提供配置和管理选项可以轻松地管理托管的应用程序,但这通常需要创建可自动执行多步骤配置和管理方案的脚本。...net.pipe:提供了基于命名管道的激活。 net.msmq:使用基于 WCF 的消息队列 (MSMQ) 应用程序。...在下图中,命名缓存跨群集中的所有缓存主机,但区域仅限于群集中的一个缓存主机。 命名缓存 命名缓存也称为缓存,是一个可配置的内存中存储单元,所有应用程序都使用该单元将数据存储在分布式缓存中。...首次设置 AppFabric 缓存功能时,会使用名称“默认”对缓存进行预先配置。可以将数据存储在此默认缓存中,也可以创建和使用命名缓存。 所有缓存都在群集配置中定义。
在学习WCF的ABCB之前,我们先创建一个NetNamedPipeBinding绑定方式的服务。...WCF服务契约 服务契约描述了暴露给外部的类型、以及所支持的操作、使用的消息交换模式和消息的格式。每个WCF服务必须实现至少一个服务契约。...使用服务契约必须要引用命名空间System.ServiceModel ServiceContractAttribute: 该特性可被用来作用于类或者接口之上,并允许重复声明。...活WAS作为宿主程序时,IIS和WAS会自动创建ServiceHost类型。...控制台应用程序) 添加System.ServiceModel引用,和项目引用HelloService,引用之前的类库项目。
用不着官方文档提供的十分繁琐的方式,咱直接明了,通过简单的控制台,利用WCF实现本机 IPC 进程间通讯 咱将先制作一个简单的 WCF 进程间通讯的服务端和客户端两个控制台项目,用来演示在管道下的 WCF...://localhost/MyWCFConnection 启动了使用管道的 WCF 服务 接着采用相同的方法,也是使用 .NET 5 创建控制台,修改为 .NET Framework 版本的客户端控制台...预期是服务端的 DataServer 的 Foo 方法将会被客户端进行调用,被客户端传入了 "123" 在服务端的控制台输出 接下来开始开发一个用来捣乱的 WCF 控制台,这是一个 WCF 服务端。...,采用了不加上具体的逻辑的管道 net.pipe://localhost/MyWCFConnection 这是通用的方式 net.pipe://localhost/ 这是不符合约定的 接着构建出这个捣乱的应用...以上的错误提示和服务端 WCF 没有启动或者在客户端配置的连接字符串和服务端配置的不相同的是一样的提示方式 原因其实比较复杂一点,简单说就是 WCF 的连接字符串,在通过管道的方式的时候,不是直接作为管道名的
IIS进程与工作进程之间通过命名管道(Named Pipes)进程通信,以获得最好的性能。 在工作进程初始化过程中,.NET 运行时(CLR)被加载,从而构建了一个托管的环境。...至于IIS下的监听器,除了基于网络驱动的HTTP.SYS提供HTTP请求监听功能外,WCF提供了3种类型的监听器:TCP监听器、命名管道(Named Pipes)监听器和MSMQ监听器,分别提供了基于TCP...图3为上述的4个Windows Service在服务控制管理器(SCM)中的呈现。 ?...从另一个角度讲,IIS运行在非托管的环境中,而ASP.NET管道则是托管的,从这个意义上讲,ISAPI还是连接非托管环境和托管环境的纽带。图5反映了IIS 6.0与ASP.NET之间的桥接关系。 ?...图6 基于IIS 7.0与ASP.NET集成管道设计 图6演示了在ASP.NET集成模式下,IIS整个请求处理管道的结构。我们可以看到,原来ASP.NET提供的托管组件可以直接应用在IIS管道中。
在写作《WCF深入剖析》中,为了剖析基于IIS的WCF服务寄宿(Hosting),再次对相关内容进行了研究,在这里一并与大家分享。...IIS进程与工作进程之间通过命名管道(Named Pipes)进程通信,以获得最好的性能。 在工作进程初始化过程中,.NET 运行时(CLR)被加载,从而构建了一个托管的环境。...图3为上述的4个Windows Service在服务控制管理器(SCM)中的呈现。 ?...从另一个角度讲,IIS运行在非托管的环境中,而ASP.NET管道则是托管的,从这个意义上讲,ISAPI还是连接非托管环境和托管环境的纽带。图5反映了IIS 6.0与ASP.NET之间的桥接关系。...我们可以看到,原来ASP.NET提供的托管组件可以直接应用在IIS管道中。
如果我们需要使用WCF服务,那么我们就必须将服务寄宿与创建它并控制它的上下文和生存期的运行时环境当中,承载服务的环境,称之为宿主。WCF服务可以在支持托管代码的任意Windows进程中运行。...二、WCF宿主环境主要有以下几种 1、托管应用程序中的自承载 WCF服务可以承载与任何托管应用程序中,这是最灵活的选项,因为它需要部署的基础结构最少,在托管应用程序代码内嵌入服务代码,然后创建并打开 ServiceHost...) 应用程序 控制台的优势: 在应用程序的开发阶段中,将 WCF 服务承载于控制台应用程序内通常是很有用的。...在未激活消息的安全环境中,由托管 Windows 服务宿主选项启用的方案是承载于 IIS 之外、长时间运行的 WCF 服务的方案。 服务的生存期改由操作系统控制。...5、Internet信息服务(IIS) 在IIS中承载WCF服务,之前已经创建了契约层和服务层,这里就不创建了。 第一步:新建IISHost空Web应用程序,作为WCF服务的宿主 ?
[第2篇] 再谈IIS与ASP.NET管道 在2007年9月份,我曾经写了三篇详细介绍IIS架构和ASP.NET运行时管道的文章,深入介绍了IIS 5.x与IIS 6.0HTTP请求的监听与分发机制,...[第4篇] 基于IIS的WCF服务寄宿(Hosting)实现揭秘 通过《再谈IIS与ASP.NET管道》的介绍,相信读者已经对IIS和ASP.NET的请求处理管道有了一个大致的了解,在此基础上去理解基于...[第5篇] 利用ASP.NET兼容模式创建支持会话(Session)的WCF服务 在《基于IIS的WCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NET)的WCF...随着时间的推移,不可避免地,我们会面临着数据契约版本的变化,比如数据成员的添加和删除、成员名称或者命名空间的修正等,如何避免数据契约这种版本的变化对客户端现有程序造成影响,就是本节着重要讨论的问题。...所以,消息在整个WCF体系结构中处于一个核心的地位,WCF可以看成是一个消息处理的管道。 尽管消息在整个WCF体系中具有如此重要的意义,可是一般的WCF编程人员,却意识不到消息的存在。
Net.Pipe 2.1.4. Net.Msmq 2.2. EndpointAddress 2.4.1. 为服务端终结点指定地址 2.4.2. 在客户端指定地址 2.4.3. 地址报头 2.3....端口共享在WCF中的意义何在? 2.3.2. 基于HTTP|HTTPS的端口共享 2.3.3. 基于TCP的端口共享 2.4. 逻辑地址与物理地址 2.4.1. 服务的角色 2.4.2....通过定制XmlSerializer控制XML结构 5.1.3. 通过定制数据类型控制XML结构 5.2. 数据契约 5.2.1. 数据契约的本质 5.2.2....数据契约的等效性 5.6.2. 数据成员的添加 5.6.3. 数据成员的删除 5.6.4. 数据契约代理 5.7. 序列化在WCF框架中的实现 5.7.1. 消息格式化器 5.7.2....ASP.NET管道 7.4. IIS寄宿 7.4.1. .svc文件 7.4.2. 实例演示:如何使用自定义ServiceHost(S704) 7.4.3. ASP.NET并行模式 7.4.4.
2:WCF能做什么 WCF 整合ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技术,主要用于在分布式系统中提高网络和服务的支持,寄宿的宿主可以是命令行控制台...在SOAP 的header中增加了WS-ReliableMessaging允许可信赖的端对端通信。...协议:WCF支持多种协议,即HTTP,命名管道,TCP和MSMQ;而Web服务仅支持HTTP协议。...托管机制:WCF托管不同的激活机制,即IIS(Internet信息服务),WAS(Windows激活服务),自托管和Windows服务,而Web服务则只能由IIS托管。...异常处理:在WCF中,未处理的异常都是在一个更好的方式通过使用FaultContract处理,并没有得到Web服务SOAP(简单对象访问协议)故障返回给客户端等。
操作系统:Windows7 旗舰版 开发环境:VS2010 .NET Framework4.0 ASP.NET4.0 第一步:检查Windows7中IIS是否安装了必要的组件 方法:控制面板->程序和功能...不幸如果没有找到这几个"兄弟"的话方法如下 安装注册WCF组件 WCF没有正确的在IIS中注册也许是导致看到错误页面的最常见原因。...如果你在安装Visual Studio后才安装IIS, 那么你在IIS托管WCF服务中,就很可能遇到这样的问题。...最后说说VS2010中WCF的发布遇到的问题 1.选择WCF项目右键选择发布在下图设置对话框中注意红色标注文本框的填写方法 如果直接发布到名为"Service"(这个根据要求自行定义名称)的网站不需要填写...系统提示的什么“默认网站/MyApp”是扯淡的,如果你觉得名称太长,可在IIS管理器中重命名默认网站的名称。 常出现的问题是无法找到Service站点 ?
(阅读全文) 2、再谈IIS与ASP.NET管道 在2007年9月份,我曾经写了三篇详细介绍IIS架构和ASP.NET运行时管道的文章,深入介绍了IIS 5.x与IIS 6.0HTTP请求的监听与分发机制...在写作《WCF深入剖析》中,为了剖析基于IIS的WCF服务寄宿(Hosting),再次对相关内容进行了研究,在这里一并与大家分享。...在本篇文章中,我们将通过一个简单实例介绍进行非HTTP的IIS服务寄宿。...(阅读全文) 4、基于IIS的WCF服务寄宿(Hosting)实现揭秘 通过《再谈IIS与ASP.NET管道》的介绍,相信读者已经对IIS和ASP.NET的请求处理管道有了一个大致的了解,在此基础上去理解基于...(阅读全文) 5、利用ASP.NET兼容模式创建支持会话(Session)的WCF服务 在《基于IIS的WCF服务寄宿(Hosting)实现揭秘》中,我们谈到在采用基于IIS(或者说基于ASP.NET
常见的策略是在每台机器发布应用时,节点从负载均衡节点集合中移除,发布结束后,首次访问通过人工或自动请求下页面让其缓存,也包括预编译。...缓存的业务逻辑、并发处理在独立进程中做,使用进程通信进行交互。这样不但解决了数据量大预热的麻烦,还能解耦部分应用的业务。 另外单独的进程也可以供外部使用,比如以WCF服务的方式提供给其他子系统使用。...Namedpipe Wcf在原生namedpipe包装了一下,使用起来更为简单方便。...测试结果表明Wcf的namedpipe要慢于wcf-tcp的方式,这个让人有些意外。...("net.tcp://localhost:8057/CacheService/")); 总结 在大型网站开发中,缓存是个永远避免不了的话题,也不存在一种方案能解决所有的问题。
记得从自己最开始做MFC时,就使用过Named Pipe命名管道,之后做Winform时,使用过Remoting,再之后做B/S架构时,就会经常使用.NET平台下的Web Service,直到使用上WCF...Net.Pipe 命名管道是Windows等操作系统实现跨进程通信(Inter Process Communication, IPC)的标准实现方式,虽然命名管道本身可以跨机器通信,不过WCF中的命名管道专注于同一台机器中的跨进程通信...契约其实就是一个生活中的概念,是一种双边和多边的协议,在WCF中,其保证了无论服务的实现有任何的改变,而服务的消费者始终可以通过契约约定方式来调用服务。...Name在wsdl文件中均是对元素的修饰;ConfigurationName实际上就对应配置中的Contract名称;SessionMode表示契约的会话模式,比如Allowed、Required.../回复信息的头,其默认通过命名空间、服务契约、操作名称组成,后者默认添加Response;IsOneWay控制消息交换的模式。
第29集 在IIS中托管WCF服务 Hosting wcf service in iis 今天第29集,介绍一下如何把wcf托管到IIS中,毕竟,做.net的web项目和IIS还是挺亲切的。...打开App_Code文件夹,可以把IService.cs 和 Service.cs删了,因为我们的内容已经在上面的HelloService类库中。 4....然后编辑里面内容,删了CodeBehind="~/App_Code/Service.cs",因为我们code 是在 上面的类库中。...然后把Service="Service"改成Service="HelloService.HelloService",前面HelloService是命名空间,后面的是服务名称。...这集完了,介绍了一下如何把WCF服务托管到IIS上。 ThankYou!
领取专属 10元无门槛券
手把手带您无忧上云