网络服务器无法找到所请求的资源。

26
我有一个.NET 3.5 Web应用程序,在Vista Ultimate 32 SP1上的VS 2008 SP1中运行。我在默认网站下创建了一个应用程序。因此,应用程序的URL为"http://localhost/mysite"。应用程序文件夹指向解决方案文件夹,并且它位于iisroot文件夹外部。在IIS7中为此Web应用程序"mysite"启用匿名和集成身份验证(Windows)。
我已经将完全权限授予"Network Service"用户以访问应用程序文件夹(该文件夹位于iisroot之外)。
当我按F5开始调试时,出现"无法在Web服务器上启动调试。Web服务器找不到请求的资源。"错误。

我使用TcpView(Sysinternals)查看实际运行的应用程序并保持对该端口的控制,结果发现没有任何应用程序在监听该端口。这真的很奇怪...有什么创意点子吗?


我可以轻松访问URL“http://localhost/mysite”。该Web应用程序被设置为启动项目,Default.aspx是启动页面。
项目中还有一个.asmx服务。Default.aspx也在使用这个asmx服务。AutoCompleteExtender(来自AJAX Control Toolkit)正在使用此asmx服务。
顺便说一下,一切正常。问题是调试......我怀疑是asmx服务引起的,但我不确定。这让我感到很疯狂......

@Pradeep: 我正在以管理员身份运行Visual Studio。实际上,如果你不使用管理员用户运行VS,它将无法在IIS下运行Web应用程序。而且,web.config文件中debug=true。 - harropriiz
23个回答

0

我遇到了同样的问题,但是如果我通过“工具”->“附加到进程”菜单,然后选择aspnet_wp进程,我就能够进行调试。


0

你尝试过以下方法吗:

  • 关闭UAT
  • 将网站运行的用户(和/或您自己)添加到调试器或管理员组中(暂时)
  • 打开IIS日志记录

你所说的UAT是什么意思?你是指UAC吗?如果是,那与这个问题无关。IIS日志默认是开启的。 - harropriiz

0

为确保,请在web.config中设置Debug=true。一般情况下,当您使用VS内置的Web服务器时,它能够检测到您正在尝试进行调试,但调试标志已关闭并会对您发出警告。但在您的情况下,您已设置了IIS,而VS可能无法执行此检查。

另一点是您运行在Vista上。即使您是系统管理员,Vista也不会将您视为管理员。您的安全令牌将创建为普通用户。为了调试IIS托管的网站(注意:使用内置Web服务器时,VS 2008管理调试),请以管理员身份运行VS 2008。这可以解决问题。


我正在以管理员身份运行Visual Studio。实际上,如果您没有以管理员用户身份运行VS,则无法在IIS下运行Web应用程序。是的,在web.config文件中debug=true。 - harropriiz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接