IIS托管WCF服务实际操作中常见错误分析

开发 开发工具
IIS托管WCF服务在实际进行中会遇到一些问题,这些问题的出现在一定程度上困扰着程序开发的进程。接下来将会针对这一问题做一个详细介绍。

当我们在应用WCF进行程序开发中,是经常会遇到一些比较棘手的问题,这些问题需要我们通过不断的经验积累来掌握技巧进行解决。那么,接下来我们将会了解到一些IIS托管WCF服务中遇到的问题及解决方法。

如果你创建寄宿在IIS中的WCF Service网站项目,(图1显示怎样创建这样的网站项目),或者你把你的WCF Web Application项目或者WCF Service网站项目发布或部署到IIS网站服务器上后,你可以用网页浏览器去访问你的网站。如果你在尝试打开这些网页时无法看到正确的页面显示,或者看到错误提示页面(图2是错误提示页面的一个例子: HTTP Error 500.21 – Internal Server Error Handler “svc-Integrated” has a bad module “ManagedPipelineHandler” in its module list),下面是IIS托管WCF服务中最常见的问题和解决办法。

IIS托管WCF服务创建网站

图1

IIS托管WCF服务错误提示页面

图2

IIS托管WCF服务常见问题与解决办法:

1. 检查IIS是否正确安装和运行

你需要保证你的IIS服务器已经正确安装并正常运行。这里我们不讨论IIS安装的方法(你可你根据你的Windows版本和需要的IIS版本去bing中搜索), 只给出简单的验证方法。如图2所示,在IE地址栏中输入http://localhost, 如果你看到如图所示的页面或者类似的其他版本IIS的默认页面。那么就说明IIS已经在正常运行了。

IIS托管WCF服务默认页面

图3

2. 正确注册安装ASP.net#t#

打开Visual Studio命令行提示工具(Start->All Programs->Visual Studio->Visual Studio Tools->Visual Studio Command Prompt, 如果你的OS是Windows Vista及以后的版本,你需要以管理员身份打开),运行”aspnet_regiis.exe -i”。在命令运行完成后重新尝试你的网站。

3. 在IIS中配置正确的Application Pool

在IIS管理工具(IIS Manager)中找到你的Website, 选中。在右侧的面板中点击Basic Settings。 你将看到如图3所示的弹出窗口,其中有你正在使用的Application Pool的信息。 选择IIS管理工具中的Applications Pools节点。选中你在使用的Application Pool, 点击右侧的Basic Settings。 你将看到如图4所示的弹出窗口。确定其中的.NET Framework版本是v4.0.xxxxx。如果不是,这也许就是你看到错误页面的原因。尝试在图2中把它改成v4.0或者在图3中选择”Select…”, 更改成其他的使用.NET Framework v4.0的Application Pool。

IIS托管WCF服务弹出窗口

图4

IIS托管WCF服务操作界面

图5

4. 安装注册WCF组件

WCF没有正确的在IIS中注册也许是导致看到错误页面的最常见原因。如果你在安装Visual Studio后才安装IIS, 那么你在IIS托管WCF服务中,就很可能遇到这样的问题。打开Visual Studio命令行提示工具(Start->All Programs->Visual Studio->Visual Studio Tools->Visual Studio Command Prompt, 如果你的OS是Windows Vista及以后的版本,你需要以管理员身份打开),运行” ServiceModelReg.exe –ia”。 命令完成后再次访问你的WCF 网站。

责任编辑:曹凯 来源: IT专家网
相关推荐

2010-04-01 14:06:13

Oracle Name

2010-04-01 13:39:43

Oracle Name

2010-04-13 18:03:33

Oracle服务

2010-09-13 09:53:42

IT服务管理

2010-05-10 10:19:28

Oracle实战RMA

2010-03-12 15:29:19

Pythonexe

2010-10-09 14:28:50

2010-04-20 11:06:33

Oracle索引

2010-05-19 10:37:06

MySQL expla

2010-03-09 18:55:27

Python djan

2010-06-12 13:39:33

MySQL操作blob

2009-11-05 16:21:51

WCF服务

2010-05-18 17:39:13

MySQL alter

2010-04-16 13:59:40

Oracle数据

2010-04-14 17:06:41

Oracle安装路径

2010-03-10 19:00:20

Pythonnext函

2010-03-31 16:11:00

Oracle启动

2010-05-20 17:40:54

MySQL编码

2010-05-12 13:45:25

Mysql 复制设置

2010-04-12 14:44:06

Oracle Impd
点赞
收藏

51CTO技术栈公众号