【问题标题】:ASP.NET PageMethods and error "The HTTP verb POST used to access path is not allowed"ASP.NET PageMethods 和错误“不允许用于访问路径的 HTTP 动词 POST”
【发布时间】:2009-12-18 19:05:06
【问题描述】:

我正在使用带有 WebForms 的 URL 路由。我通过 Visual Studio Web 服务器在本地运行,一切运行正常。我在本地部署到 IIS(XP,所以它是 IIS5),因此我需要确保我的应用通配符已映射,以便正确处理 URL 路由。

但是,这样做会使我的所有 PageMethods 都失败并显示此消息:

The HTTP verb POST used to access path is not allowed

/default.aspx/SendMessage 之类的内容不起作用。我见过排除 .svx 和 .asmx 文件的解决方案,但是,由于这是一种页面方法,因此这是一个 .aspx 文件。我知道解决方案是将这些文件移到 .aspx 之外,但是,我在整个站点中的这些不同文件中有很多功能。我想我可以创建一个 Web 服务,并在那里拥有所有功能,但是,我很好奇是否有一种快速简便的方法来解决这个问题?

【问题讨论】:

    标签: c# asp.net webforms url-routing


    【解决方案1】:

    在定义 PageMethod 之后和调用 PageMethod 之前,将以下代码添加到 javascript:

    PageMethods.set_path('default.aspx');
    

    这应该可以解决问题。

    【讨论】:

      【解决方案2】:

      似乎没有办法使用 IIS5、通配符映射和使用 PageMethods 的 URL 路由来执行此操作。我已经将这些功能重新定位到适当的 Web 服务,这实际上比将 aspx 页面与页面方法混合起来要干净得多...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-11
        • 2011-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-21
        相关资源
        最近更新 更多