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

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个回答

1

我也在使用IIS上的默认网站,但是无法通过调试或简单浏览来启动它。

结果发现默认网站已停止运行!将其启动后,一切正常。


1
这个问题的解决方案非常简单。如果网站指向不同的位置,而虚拟目录指向不同的目录,那么您将收到此错误。
我建议您将网站指向与虚拟目录相同的目录,问题就会得到解决。

1

对我来说,有人更新了Request Filtering的web.config文件,特别是只允许使用GET和POST谓词。要使用本地IIS,您还需要允许使用DEBUG谓词。

<verbs allowUnlisted="false">
     <add verb="GET" allowed="true" />
     <add verb="POST" allowed="true" />
     <add verb="DEBUG" allowed="true"/>
</verbs>

1

这不应该是一个问题 - 你的启动页面是什么?此外,在 Web 的“启动选项”中(在属性页下),确保你选择了“启动 URL”,并输入上面提到的 URL。

你遇到的错误不应该是权限特定的,所以我会在其他地方查找 - 还要检查一下是否可以在调试之前成功访问 URL(手动在浏览器中输入 URL) "http://localhost/mysite".


1
我刚遇到了同样的问题,但是所有的建议都没有起作用。
我的问题在于我的项目URL设置为http://localhost/service。将其更改为我的IP地址后问题得以解决。

工作了,但我需要更改我的主机文件以使用我的IP地址。 - RayLoveless

1

我正在使用Windows 7 32位操作系统,搭配VS2005和IIS 7.5。我的web.config默认debug="true"。我设置了IIS物理路径指向开发文件夹,并按照上述提示进行操作。我没有使用UrlScan。我以管理员身份运行VS2005,但仍无法使其正常工作。

让它正常工作的方法是将IIS_IUSRS帐户添加到开发网站根目录并赋予完全访问权限,然后使用CTRL+ALT+P(附加到进程)附加到w3wp.exe。


0

这个 web.config 中的部分导致了错误:

<security>
    <requestFiltering>
        <hiddenSegments>
            <add segment="......" />
            <add segment="....." />
            ........
        </hiddenSegments>
    </requestFiltering>
</security>

请仔细检查 - 可能您的调试文件受到限制,无法在浏览器中直接查看。

0

请前往您的 Web 项目属性,然后转到“Web”选项卡,确保您正在使用 Visual Studio 开发服务器而不是本地 IIS 或自定义 Web 服务器。我正在使用 VS2010 和 Win7,另一个开发人员正在使用自定义 Web 服务器 URL 进行开发,而不是使用 VS Dev Server。


0

我尝试了所有的方法,但都无济于事。但是一旦我把csproj.user文件删除了,网站就加载成功了。不用担心删除它,因为一旦网站加载成功,它会自动创建一个新的。


0

请确保项目属性中 Web 选项卡中的项目 URL 不包含无效字符。在我的情况下,它包含了一个“+”字符,导致出现了这个错误。


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