.net 在VS Development Server中工作的Web应用程序,但不';我不能在IIS中工作

.net 在VS Development Server中工作的Web应用程序,但不';我不能在IIS中工作,.net,asp.net,iis,sql-server-2008,visual-studio,.net,Asp.net,Iis,Sql Server 2008,Visual Studio,我有一个ASP.Net应用程序,它利用SQL Server存储过程和使用Windows身份验证的Web服务。其思想是使用登录的用户凭据来调用web服务(这是至关重要的,因为web服务使用身份验证凭据来分配所创建或更新记录的所有者)和执行存储过程 当我使用VS.Net integrated web server时,结果很好(可能是因为此服务器在当前登录用户帐户下启动),SQL server SP返回预期结果(即使我从查询分析器执行这些结果),并且web服务凭据已正确设置为当前登录用户 但是,当我在

我有一个ASP.Net应用程序,它利用SQL Server存储过程和使用Windows身份验证的Web服务。其思想是使用登录的用户凭据来调用web服务(这是至关重要的,因为web服务使用身份验证凭据来分配所创建或更新记录的所有者)和执行存储过程

当我使用VS.Net integrated web server时,结果很好(可能是因为此服务器在当前登录用户帐户下启动),SQL server SP返回预期结果(即使我从查询分析器执行这些结果),并且web服务凭据已正确设置为当前登录用户

但是,当我在本地IIS中托管应用程序时,它并没有按预期工作。Sql Server存储过程返回空数据集,web服务凭据设置为空

我正在使用

myService.Credentials=System.Net.CredentialsCache.DefaultCredentials

web服务主机虚拟目录和我的应用程序虚拟目录都在IIS的目录安全中使用Windows身份验证


有人知道吗?

您的本地IIS最有可能运行作为用户网络服务托管asp.net的应用程序池。

您的asp.net应用程序似乎没有正确使用windowsauthentification。你确定你正确地记录了它吗?创建一个新的空白页,并将断点设置为page_Onload方法。在那里,您可以转到(我认为是提示窗口)并键入this.User.Identity.Name,然后查看它是否与IIS管理器下的windows登录名匹配。单击网站->属性并选择目录安全。然后进行匿名访问和身份验证控制,然后选择集成Windows以允许Windows域用户。访问网站

不幸的是,我不知道为什么。然而,为了解决这个问题,我使用了模拟


关于SP,不返回任何值。我发现我使用的是SPs中的视图,而登录的windows帐户对这些视图没有足够的权限。

我的环境是:在虚拟PC上运行的windows Server 2003与VS 2008、SQL Server 2008、IIS 6.0。IIS在本地系统帐户下运行应用程序池标识是网络服务允许域或ASP.Net用户访问该数据库,在数据库权限下我已使用调试检查同一页,代码页为。user.Identity.Name提供正确的登录用户名称,即“CONTOSO\\Administrator”。我已经提到“web服务主机虚拟目录和我的应用程序虚拟目录都在IIS的目录安全中使用Windows身份验证。”