WCF服务部署到IIS7.5

下面介绍如何把WCF服务部署到IIS:

为WCF服务创建.svc文件

我们知道,每一个ASP.NET Web服务都具有一个.asmx文本文件,客户端通过访问.asmx文件实现对相应Web服务的调用。与之类似,每个WCF服务也具有一个对应的文本文 件,其文件扩展名为.svc。基于IIS的服务寄宿要求相应的WCF服务具有相应的.svc文件,.svc文件部署于IIS站点中,对WCF服务的调用体 现在对.svc文件的访问上。

.svc文件的内容很简单,仅仅包含一个ServiceHost指令(Directive),该指令具有一个必须的Service属性和一些可选的 属性。所以最简单的.svc仅仅具有一个包含Service属性(该属性指明了相应的WCF服务的有效类型)的ServiceHost指令。 CalculatorService对应的.svc如下所示,我们把该.svc放在Services项目的根目录下,并将文件命名为 CalculatorService.svc。

<%@ServiceHost Service="WcfServices.Services.CalculatorService"%>

为WCF创建web.config文件

这里的web.config文件的内容和WCF Service Configuration Editor的使用配置的app.config文件的内容相似,只是无须设置endpoint的address的值:

1 <?xml version="1.0"?>
2 <configuration>
3 <system.serviceModel>
4 <behaviors>
5 <serviceBehaviors>
6 <behavior name="CalculatorBehavior">
7 <serviceMetadata httpGetEnabled="true" />
8 </behavior>
9 </serviceBehaviors>
10 </behaviors>
11 <services>
12 <service behaviorConfiguration="CalculatorBehavior" name="WcfServices.Services.CalculatorService">
13 <endpoint address="" binding="basicHttpBinding"
14 bindingConfiguration="" contract="WcfServices.Contracts.ICalculator" />
15 </service>
16 </services>
17 </system.serviceModel>
18 </configuration>

将上述文件和程序集放到相应目录下

创建一个文件夹,将上述文件和程序集放到想应目录下。这里,创建文件夹‘WCFService’,将文件‘CalculatorService.svc’,‘Web.config’放入。

因为一个Web应用在运行的时候会默认从位于根目录下的Bin目录加载程序集,所以,程序集‘WcfServices.Contracts.dll’和‘WcfServices.Services.dll’ (程序集代码)放入子目录‘bin‘下,如下图1:

图1 WCFService目录结构

为WCF服务创建WebSite

为WCF服务创建一个application pool, 设置Name="WCF", .NET Framework version = “.NET Framework version v4.0.30319”。如下图2:

 图2 创建WCF Application Pool

更改WCF Application Pool的Identity,使之有权限访问WCFService目录,见测试授权。如下图3:

图3 更改WCF Application Pool的Identity

右键“Sites",选择选项”Add Web Site",为WCFSerivce创建Web Site,如下图4:

设置Site name = "CalculatorWCFService",选择Application pool = "WCF" (就是上面建立的application pool),设置Physical path到相应目录,设置Port。

图4 为WCFSerivce创建Web Site

测试授权

图5 测试授权

浏览网页“CalculatorServices.svc” ,如下图6:

图6 浏览网页“CalculatorServices.svc” 

WCFService部署到IIS成功,如下图7:

图7 WCFService部署到IIS成功

时间: 2024-10-12 12:27:52

WCF服务部署到IIS7.5的相关文章

WCF学习之旅—WCF服务部署到IIS7.5(九)

四.WCF服务部署到IIS7.5 我们把WCF寄宿在IIS之上,在IIS中宿主一个服务的主要优点是在发生客户端请求时宿主进程会被自动启动,并且你可以依靠IIS来管理宿主进程的生命周期.在开发和使用的过程与Web Service非常相似. 1) 为WCF服务创建.svc文件 对于ASP.NET Web Service的每个服务都具有一个.asmx文件,客户端通过访问.asmx文件实现对相应Web Service的调用.WCF服务与Web Service类似,每个WCF服务也具有一个对应的文 件,其

WCF服务部署IIS

一.将WCF服务部署到IIS上  [转载自简单笑容——http://www.cnblogs.com/skdsxx/p/5072726.html ] 1.首先检测电脑上是否安装了IIS,一般来说Win7以上系统自带IIS 2.下面进行IIS服务的开启设置 控制面板=>打开或关闭Windos功能 3.勾选该窗口中的Internet信息服务和Microsoft.NET Framework3.5.1标签,如下图所示 4.点击确定 5.右键桌面图标“计算机”=>管理=>服务和应用程序=>In

WCF学习之旅—WCF服务部署到应用程序(十)

五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下图. (2)添加 System.ServiceModel.dll 的引用. (3)添加 WCF 服务类库(WcfServiceLib)的项目引用. (4)创建宿主程序,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.ServiceModel; using System.Serv

把WCF服务部署服务器IIS异常(详细:处理程序“svc-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”)

详细:处理程序“svc-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” 原因: vs2010默认的是4.0框架,4.0的框架是独立的CLR,和2.0的不同,如果想运行4.0的网站,需要用aspnet_regiis注册4.0框架,然后用4.0的Class池,就可以运行4.0的web项目了. 如何用aspnet_regiis注册4.0框架 : 方法如下,启动cmd (win键+R 启动cmd)  ,找到 4.0所在的目录,本人机器目录是 : 注意:

Ajax跨域访问wcf服务中所遇到的问题总结。

工具说明:vs2012,sql server 2008R2 1.首先,通过vs2012建立一个wcf服务项目,建立好之后.再新开一个vs2012 建立web项目,通过jQuery的ajax方法访问服务. 问题:由于web项目和wcf服务,不在同一个端口之中,所以涉及到“跨域”的问题.跨域访问的时候,需要对服务的接口和方法做一定的限定.具体参考:http://www.cnblogs.com/yangbingqi/p/2096197.html 2.解决了跨域问题,我们需要把服务部署到IIS.vs20

WCF实战Dome(二)--使用IIS发布WCF服务

上一篇中我们创建了一个WCF服务类,我们用WCFSVHost发布WCF服务,一遍进行测试.只使用与开人员测试的使用,能进行WCF服务部署,我们需要在IIS中发布. 第一步:打开我们建立好的WCF服务项目 第二步:新建WCF服务站点.在解决方案上右击,"添加"->"新建网站",打开新建网站中,我们选择"WCF服务",并将网站的名称命名为"BookServiceHost". WCF服务站点中,有一个App_Code文件中自动

请求部署在 IIS7.5 上的 REST 服务的 Put/Post/Delete 操作发生 HTTP Error 405.0 - Method Not Allowed 错误之解决

背景 请求部署在 IIS7.5 上的 REST 服务的 Put/POST/DELETE 操作发生 HTTP Error 405.0 - Method Not Allowed 错误. Issue 解决 在 WebAPI 应用的 Web.config 中加入如下设置: <system.webServer> <modules> <remove name="WebDAVModule" /> </modules> <handlers>

IIS Internal Server Error &amp;IIS8中部署WCF服务出错:HTTP 错误 404.3 - Not Found

Http error      503. The service is unavailable. Due to appliction pool is stop and start it can resolve it Server Error Internet Information Services 7.5 Error Summary HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed b

IIS内部署WCF服务出错:HTTP 错误 404.3 - Not Found

WCF服务的站点在VS开发环境内运行正常,部署到IIS后,报HTTP 错误 404.3 - Not Found, 其它非WCF站点(asmx)服务正常,经检查是WCF服务未正常安装 如下服务导致. 原文地址:https://www.cnblogs.com/todayhero/p/11426731.html