WCF发布到IIS7问题的解决方案

本文转载:http://www.cnblogs.com/allexw/archive/2011/04/12/2014017.html

今天用VS2010开发了一个WCF服务进行一个简单测试,没想到这点小事竟然折腾了我2个小时。

为避免其他兄弟遇到相同的问题少走弯路做一下总结。

操作系统:Windows7 旗舰版

开发环境:VS2010 .NET Framework4.0 ASP.NET4.0

第一步:检查Windows7中IIS是否安装了必要的组件

方法:控制面板->程序和功能->打开或关闭Windows功能

以下图片中标注的功能Windows7默认不会安装的

第二步:检查IIS的配置

系统必备安装完成后打开IIS服务管理器,点默认网站,双击“处理程序映射”如下图

 检查一下下图中红色标注部分是否已经存在,否则WCF服务是无法调用的。不幸如果没有找到这几个"兄弟"的话方法如下

安装注册WCF组件

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

然后配置一下应用程序池.NET Framework的版本为4.0默认为2.0

可能出现的错误无法识别的属性“targetFramework”。

 最后说说VS2010中WCF的发布遇到的问题

1.选择WCF项目右键选择发布在下图设置对话框中注意红色标注文本框的填写方法

如果直接发布到名为"Service"(这个根据要求自行定义名称)的网站不需要填写/Service前面的部分只需要填写Service

如果要发布到默认网站上需要在前面填写Default Web sit/Service 有空格.而且Service目录已建立。系统提示的什么“默认网站/MyApp”是扯淡的,如果你觉得名称太长,可在IIS管理器中重命名默认网站的名称。

常出现的问题是无法找到Service站点

发布成功后可能出现的问题

出现这个问题"svc-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

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

大功告成!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏林德熙的博客

Visual Studio 自定义项目模板

经常需要新建一个项目,项目有很多重复的东西,如然后新建View文件夹,ViewModel文件夹,Model文件夹,还有把我们的ViewModelBase放入Vi...

2321
来自专栏依乐祝

.NET Core部署中你不了解的框架依赖与独立部署

框架依赖的部署:顾名思义,依赖框架的部署 (FDD) 依赖目标系统上存在共享系统级版本的 .NET Core。 由于已存在 .NET Core,因此应用在 .N...

1772
来自专栏WebDeveloper

Thinkphp的cron计划任务

cron1默认在ThinkPHP\Library\Cron\cron1.php如果没有cron目录则新建一个,cron1.php自己所要执行的脚本

1793
来自专栏张善友的专栏

ASP.NET 5运行时升级到Beta5

在Visual Studio 2015 RTM和Windows 10正式发布之前,微软把开源.NET升级到了beta5,带来了一些增强和改变。和Visual S...

2148
来自专栏张善友的专栏

ASP.NET 4 AppFabric 输出缓存提供程序

缓存是用来保存你数据的地方,从而使你的应用程序访问更快速。缓存可以根据你的需要分配到许多台机器上,而开发人员无需关心数据究竟在哪台机器上。为了获得超快的性能,你...

1969
来自专栏武培轩的专栏

Notepad++中实现Markdown语法高亮与实时预览

Notepad ++是一个十分强大的编辑器,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad ++不仅有语法高亮度显示,也有语...

4196
来自专栏葡萄城控件技术团队

如何在 ASP.NET MVC 中集成 AngularJS(1)

介绍 当涉及到计算机软件的开发时,我想运用所有的最新技术。例如,前端使用最新的 JavaScript 技术,服务器端使用最新的基于 REST 的 Web API...

3526
来自专栏deed博客

Windows 7与Windows XP双系统安装方法汇总

1604
来自专栏张善友的专栏

使用IAPIExplorer列举ASP.NET Web API

IApiExplorer是一个新的抽象层,它可以帮助获取ASP.NET Web API的结构描述。伴随该接口的还有一个默认实现——APIExplorer。 使用...

1816
来自专栏DeveWork

Sublime text 3 中Package Control 的安装与使用方法

Package Control插件本身是一个为了方便管理插件的插件,在Sublime text 3中,Package Control 的安装方法一开始出来的方法...

7148

扫码关注云+社区

领取腾讯云代金券