IIS 7.5版本中一些诡异问题的解决方案(WCF..)
2012-06-13 13:48
253 查看
前言 我想任何一个基于.NET的宫城师都会同意微软的产品,特别是这个IIS,常常在你很恨意外的时候抛出异常来,比如在你的主要产品要升级的时候。然后你会花好多时间去找啊找,找到天荒地老。悲催!~。 此篇文章的目标主要是为了IIS 7.5 在一些情况下的解决方案。希望这些对你们有帮助。 一。 IIS 有关WCF 宿主(hosting)问题 问题描述: 如果第一次在IIS 7.5部署WCF 服务文件---.svc的时候,你很有可能会遇到下面的问题: 404 – Not Found - The page you are requesting cannot be served because of the extension of the configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map. 解决方案: 404,很熟悉吧。就是没找到文件。 其实,这问题很简单,发生错误的主要原因是HTTP Handler默认配置中的虚拟目录并没有映射(mapping)到以.svc为后缀的文件名。svc我们都知道在WCF机制中的重要性。既然目录都找不到,当然就会报错的哦!~。 步骤: 第一步:打开命令提示框。也就是cmd。 第二步:在黑屏窗口中,通过cd 导航到一下目录: C:\Windows\Microsoft.Net\Framework\v3.0\Windows Communication Foundation 第三步:然后输入: ServiceModelReg –i 如图 ![]() 这样就OK了。 二。在IIS中 不能看到Window Authentication(window 授权) 我们都知道,在IIS 7.0中,默认情况下有以下3中授权方式: Anonymous(匿名,默认情况下打开) Impersonation( 模拟身份,默认情况关闭) Forms(默契情况下关闭) 如图: ![]() 可能有些童鞋会觉得,不对啊,好像上面还缺少一种。对,缺少的就是“Windows Authentication”这个验证方式。那么,有些人就会问,是没有了呢?还是被路人甲给隐藏了呢? 呵呵,其实是隐藏的!~~微软这孩子已经把它不作为默认出现了。如果你真的需要这种验证方式,那么可以如下这么做: 打开控制面板(Control Panel),然后找到“Programs and Features”,在点击“Turn Windows Features on/off “,如下: ![]() 然后。。。 ![]() 勾选上就可以了~~~~ 三。Login failed for user 'IIS APPPOOL\Classic .NET 这种情况主要发生在运用Windows Credentials 访问数据库时。宿主服务器(Host Server) 有sql 2008数据库以及有HTTP 请求经过路由(routed)。 基于这种情况的主要是因为改变这个Classic .NET Application的进程属性标识,所以如果碰到这个情况,那么你需要把你的虚拟目录映射(mapped)Classic .NET Application中就可以了。 过程如下: 第一步:打开你的IIS 管理器(我很喜欢直接在“开始”→“运行”里敲入 inetmgr,然后打开,觉得很酷!~嘻嘻。) 第二步:在IIS 管理器里,选择“Application Pools(应用程序池)”,在右边的列表里,选择“Class .NET AppPools” ![]() 第三步:打开它的“Advanced Setting(高级设置)”。把Process Model下面的Identity属性改为LocalSystem,如下图: ![]() 四。HTTP Error 500.23 - Internal Server Error 为什么会发生这样的错误呢?这个很大程度上是因为和托管的管道模式(Managed Pipeline Mode)设置有关系. 这个主要有2个解决方案: 第一个:改变你虚拟目录映射的Application Pool(应用程序池)的Managed Pipeline 模式。默认情况下,你虚拟目录将映射到DefaultAppPool下的Integrated Managed Pipeline模式。OK,我们需要把它从Integrated 到Classic模式就行了。 ![]() 方法2:为你的虚拟目录创建一个新的Application 在你的网页目录下,右键,添加一个“Application”,如下: ![]() 在Aplication Pool下面选择Classic.NetAppPool就可以了。。。 ![]() ![]() |
相关文章推荐
- IIS 7.5版本中一些诡异问题的解决方案
- IIS 7.5版本中一些诡异问题的解决方案
- wcf部署到IIS的一些问题总结
- IIS7.5 HTTP 错误 500.19 - Internal Server Error 问题的解决方案
- IIS7.5 HTTP 错误 500.19 - Internal Server Error 问题的解决方案
- IIS7.5 HTTP 错误 500.19 - Internal Server Error 问题的解决方案
- IIS7.5 HTTP 错误 500.19 - Internal Server Error 问题的解决方案
- IIS7.5 部署WCF项目问题集锦
- 关于Android Studio 更新到3.0版本以后出现的一些问题以及解决方案
- WCF服务在IIS发布时遇到的一些配置问题
- IIS7.5 HTTP 错误 500.19 - Internal Server Error 问题的解决方案
- IIS7.5 部署WCF项目问题集锦
- WCF服务IIS7.5寄宿时遇到的问题
- IIS7.5 部署asp.net mvc3常见问题解决
- android定义新的api解决一些低版本不能运行的问题
- 通过IIS发布网站遇到的一些问题整理
- SSD(old)版本caffe安装在已安装新版本caffe的服务器,出现的问题及解决方案
- 01-03-02-2【Nhibernate (版本3.3.1.4000) 出入江湖】CRUP操作-Save方法的一些问题
- Silverlight部署中WCF文件在IIS中不能浏览问题
- 关于Sharepoint2010还原时遇到版本问题的解决方案