问题描述:vs中调试运行没有任何错误,但是发布到IIS中访问,就会报以上错误。IIS不会调试,所以一头雾水,不止错误在哪里。

分析:看到网上有人分析了Web.config模拟验证的问题恍然大悟:

原文:

前两天在VS2005下做个项目,用里面集成的Web服务调试没问题,但当把该项目在IIS下配置后,用浏览器浏览结果则不正确,这个问题郁闷了一天,后来我想不出招就让我同事调试了一下,他在Web.config中加了一句话:“<identity impersonate="true"  userName="操作系统用户" password="用户密码"/>”,浏览…,结果正确,后来我就在网上查了下这句话的作用,MSDN是这样说的

1、模拟 IIS 验证的帐户或用户 
 若要在收到 ASP.NET 应用程序中每个页的每个请求时模拟 Microsoft Internet 信息服务 (IIS) 身份验证用户,必须在此应用程序的 Web.config 文件中包含 <identity> 标记,并将 impersonate 属性设置为 true
 
2、为 ASP.NET 应用程序的所有请求模拟特定用户
   若要为 ASP.NET 应用程序的所有页面上的所有请求模拟特定用户,可以在该应用程序的 Web.config 文件的 <identity> 标记中指定 userName 和 password 属性。例如: 
<identity impersonate="true" userName="accountname" password="password" />

解决方案:详细检查了下web.config文件发现没有windows验证,添加下列语句模拟验证即可

<identity impersonate="true" userName="accountname" password="password" />

 

程序员的基础教程:菜鸟程序员

posted on 2015-01-23 19:00  itprobie-菜鸟程序员  阅读(7501)  评论(0编辑  收藏  举报