1

我的情况类似于 Q 1851155:
The HTTP verb POST used to access path '/' is not allowed
(但那是 IIS 7;我使用的是 VS 2008 的内置 Web 服务器。如果是 IIS 6 或 7 下面引擎盖,我不知道如何配置它。)

我的情况可能类似于 Q 758780:
The HTTP verb POST used to access path '/Membership/user/' is not allowed
(这表明链接重新配置。但同样,我不知道这与 VS 2008's built -in web 服务器,而不是显式的 IIS 6 或 7 配置。)

我的情况与 Q 5238080 完全不同:
不允许使用 HTTP 动词 POST 访问路径
(我明确使用 POST;该问题与通过 LinkBut​​ton 的间接使用有关,并且似乎不是此路径问题。)

来自 .aspx 页面的有问题的代码片段,位于具有虚拟路径“/”的网站中:

    <form id="login" method="post" action="/login/">
    ...
    </form>

产生的错误页面:

    “/”应用程序中的服务器错误。
    不允许使用用于访问路径“/login/”的 HTTP 动词 POST。
    ...

这是在最新的 Windows 7 64 位和 Visual Studio 2008 SP(版本 9.0.30729.1 SP)上,调试时使用 VS 的内置 Web 服务器。

这种情况下会出现错误:
* 当从 VS 2008 开始“开始调试”时,使用路径“/login/”。
该文件夹包含单个文件“Default.aspx”。

以下两种情况正常工作:
* 当从 VS 2008 开始“不调试”时,使用路径“/login/”。
* 当“开始调试”时,使用路径“/login/Default.aspx”。

因此,当我指定文件夹并要求 Web 服务器推断引用是对该文件夹的 Default.aspx 页面时,我遇到了问题。但是,仅在 VS 2008 下调试时才会出现问题。(从 VS 2008 应用程序启动,加载我的 asp.net 网站解决方案。)

问题:
* VS 2008 的内置 Web 服务器实际上是 IIS 6 还是 7?如果是这样,我该如何配置它?
* 如果没有,在指定文件夹而不是文件时,有没有办法告诉 VS 2008 的内置 Web 服务器正常工作?
* 如果没有,是否有可以下载的替代解决方案(我没有更新我的开发人员许可证,因此我目前无法下载 Microsoft 订阅内容)。
* 更新我的许可证并升级到 VS 2010 有帮助吗?如果是这样,我具体需要做什么才能使该解决方案发挥作用?

4

2 回答 2

1

VS 2008 的内置 Web 服务器不是 IIS,它是一个叫做 Cassini 的东西。它的行为肯定是不同的——我们完全停止使用它已经够奇怪了,或者至少在认为它是一个错误之前会在另一个平台上确认任何 HTTP 错误。差异很大,以至于微软创建了IIS Express来帮助改进本地开发故事。在浪费任何时间处理 Cassini 上的 HTTP 问题之前,您应该升级到该版本并查看是否可以解决问题。

于 2012-08-24T22:44:26.157 回答
0

据我所知,您只能直接发布到页面。没有办法只发布到一个目录。Web 服务器不够智能,无法知道您打算转到Index.aspxDefault.aspx。您必须指定页面的完整 URL。

您是否有不想使用完整网址的原因?

于 2012-08-24T22:36:23.787 回答