WCF IIS 部署错误处理
做Web接口,原来一直用Web Service的,但是.Net 3.5后,Web Service变成了WCF。代码的编写上,把WebMethod特性改成了OperationContract,然后把方法分拆到契约接口和实现方法。然后在部署上,不再依赖于IIS,但如果使用IIS,部署反倒麻烦了。
将WCF应用程序代码拷贝到IIS目录下,然后打开IIS管理器,将其转换为Application。访问时出现了错误。protocolMapping配置节有问题。
原因在于,WCF是.Net3.5?的东西,我创建的WCF应用是.Net4.5,而转换为的Application,使用默认的应用程序池,其使用的.net框架为2.0。因此2.0无法解析protocolMapping配置节。
针对此情况,新建4.0的应用程序池(管道模式要使用集成,不可以是经典模式),因为服务器是2008R2,所以IIS是7.5,所以.Net框架是4.0,所以把WCF应用更改为4.0,然后重新编译,然后修改应用程序池。
然后访问报以下错误。网上查找答案,有部署SilverLight遇到类似的问题。但是配置目录权限(给IISUser甚至是匿名用户添加了FullControl的权限)后,仍然没有效果。
This error can be caused by a virtual directory not being configured as an application in IIS.
后来睁大眼睛,终于看到了这一句,哎,其实人家提醒的明明白白,为什么自己这么糊涂。问题在于虚拟目录(可以理解为应用程序所在目录)没有被配置为应用程序。
我创建了一个解决方案,其中包含几个类库以及WCF服务,后来将解决方案目录转换为应用程序,然后浏览,然后找到了服务,点击报错,问题在于WCF服务项目的目录没有被转换,正确的是转换WCF服务。
Server Error in '/xxx' Application. --------------------------------------------------------------------------------
Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Source Error:
Line 20: <add binding="basicHttpsBinding" scheme="https"/> Line 21: </protocolMapping> Line 22: <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/> Line 23: </system.serviceModel> Line 24: <system.webServer>
Source File: C:\inetpub\wwwroot\xxx\billion.wcf\web.config Line: 22
-------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929
WCF IIS 部署错误处理的更多相关文章
- [WCF]IIS部署到新系统
最近为以前的一个企业部署软件的时候,接触到WCF,通过博客园大佬的系列文章和一些书籍,基本了解了一些.简单说也算是SOA一种方式,提供某种服务,可以理解为一个类库,供其他项目使用,可以做到业务分离.但 ...
- iis部署错误:HTTP 错误 500.21 - Internal Server Error
将网站发布到IIS,访问发生如下错误: HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integr”在其模块列表中有一个错 ...
- WCF IIS部署
创建WCFHost应用程序 Iservice.cs using System; using System.Collections.Generic; using System.Linq; using S ...
- WCF服务部署到IIS上,然后通过web服务引用方式出现错误的解决办法
本文转载:http://www.cnblogs.com/shenba/archive/2012/01/06/2313932.html 昨天在用IIS部署一个WCF服务时,碰到了如下错误: 理解了文档内 ...
- IIS部署WCF
IIS部署WCF [转载自——http://www.cnblogs.com/starksoft/p/4992059.html] 1 部署IIS 1.1 安装WAS IIS原本是不支持非HTTP协议的服 ...
- WCF服务部署IIS
一.将WCF服务部署到IIS上 [转载自简单笑容——http://www.cnblogs.com/skdsxx/p/5072726.html ] 1.首先检测电脑上是否安装了IIS,一般来说Win7 ...
- IIS 部署WCF服务注意事项
IIS部署WCF服务的时候经常会出现如下错误: System.ServiceModel.EndpointNotFoundException”类型的未经处理的异常在 WinformWcfHost.exe ...
- .Net WCF服务部署IIS详细解析
官方解析:Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台.整合了原有的windows通 ...
- WCF服务部署到IIS
WCF服务部署 一.将WCF服务部署到IIS上 1.首先检测电脑上是否安装了IIS,一般来说Win7以上系统自带IIS 2.下面进行IIS服务的开启设置: 控制面板=>打开或关闭Windos功 ...
随机推荐
- 【git】——简单用法
git 更新远程代码到本地 git fetch origin master git merge origin/master 冲突: Your local changes to the followin ...
- js的语言的理解
1.所谓字面量,就是语言语法 2.在js编译器读到语法时候,执行时候创建对象:在赋值的时候创建一个对象,或者是一个匿名对象. 3.函数定义本身是一个对象:执行时候不产生实例对象:这跟python类不一 ...
- 11种绕过CDN查找真实IP方法
0x01 验证是否存在CDN 方法1: 很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有: http://ping.chin ...
- 工程手机设置apn
http://android.stackexchange.com/questions/117125/how-do-i-add-an-apn-via-adb xiaomi3 su mount permi ...
- js img转换base64
方法一:canvas <script type="text/javascript"> function getBase64Image(img) { var canvas ...
- MAVEN打zip包
https://blog.csdn.net/yulin_hu/article/details/81835945 https://www.cnblogs.com/f-zhao/p/6929814.htm ...
- testng XMl 参数化
方法一: 方法二: 方法三: (1)如果测试的数据较多的情况下,很显然这种方式不适合,那么可以通过@DataProvider生成测试数据,通过@Test(dataProvider = "&q ...
- 转 在子线程中new Handler报错--Can't create handler inside thread that has not called Looper.prepare()
在子线程中new一个Handler为什么会报以下错误? java.lang.RuntimeException: Can't create handler inside thread that has ...
- 【系统】Ubuntu和win7双系统更改系统引导菜单
1. 下载EasyBCD 2. 编辑菜单选项以及重写MBR
- 高性能的数据压缩库libzling-20140324
libzling(https://github.com/richox/libzling,求观看[watch],求星[star],求叉[fork])是一款高性能的数据压缩库,在压缩时间和压缩率上都超过了 ...