惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
The Cloudflare Blog
G
Google Developers Blog
博客园_首页
Martin Fowler
Martin Fowler
Apple Machine Learning Research
Apple Machine Learning Research
L
LangChain Blog
D
Docker
C
Check Point Blog
T
Tailwind CSS Blog
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
Microsoft Security Blog
Microsoft Security Blog
V
V2EX
博客园 - 叶小钗
T
The Blog of Author Tim Ferriss
酷 壳 – CoolShell
酷 壳 – CoolShell
IT之家
IT之家
M
MIT News - Artificial intelligence
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 【当耐特】
GbyAI
GbyAI

博客园 - 王育东

Redis + Shiro + FastJson@Cacheable无法写入缓存 canal-client无法获取数据 mysql5.7设置默认编码 Angular No name was provided for external module 'XXX' in output.globals 错误 Angular cli 发布自定义组件 Windows Message ID 常量列表大全 C#中Thread与ThreadPool的比较 HTML元素隐藏和显示 IM服务器架构实现 TCP打洞技术 C# UDP打洞 Entity Framework 4 CodeFirst EFProviderWrapperToolKit 使用 COM ActiveX C++ Builder 十分经典的批处理教程 MVVM-Light模式,在dataGrid的模板下,绑定事件不触发的原因已经服务端排序的实现 ADO.NET Entity Framework 如何输出日志到 log4net (EF, Log4net) Silverlight 发布测试 慢慢的才知道 Javascript在页面加载时的执行顺序 - 王育东 - 博客园
WCF发布到IIS7问题的解决方案
王育东 · 2011-04-12 · via 博客园 - 王育东

今天用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”。在命令运行完成后重新尝试你的网站。

大功告成!