【问题标题】:POST to default pagePOST到默认页面
【发布时间】:2023-03-03 10:53:02
【问题描述】:

为什么在 ASP.NET 上做一个 HTTP.Post 到默认页面是不行的 我有一个 default.aspx 文件,当外部实用程序向

http://{ip}/WebSiteName

我希望实际的帖子会出现在这个页面上:

http://{ip}/WebSiteName/Defualt.aspx

http://{ip}/WebSiteName/Handler.ashx

我认为,如果我将它发布到第一个 url,我将能够重新创建一个新帖子到第二个 url - 这是我最初的目标。

谢谢, 伊泰

【问题讨论】:

    标签: asp.net http-post http-status-code-405


    【解决方案1】:

    查看这篇知识库文章:http://support.microsoft.com/kb/216493

    HTTP 错误 405 方法不允许

    请求行中指定的方法不允许用于请求标识的资源。请确保为您请求的资源设置了正确的 MIME 类型。

    如果满足以下条件,则会出现此问题:

    * You do not specify the file name. For example, you do not specify http://Server/Web/.
    * The Scripting Object Model (SOM) is enabled.
    * A DTC event is called.
    

    这是 IIS 4 和 5 中的一个已知错误,但已在 6 中得到纠正。

    【讨论】:

    • 在 IIS 5.1 上是否有任何解决方法可以支持此方法?
    • 我也在 IIS 6 中对其进行了测试,但它无法正常工作......也许我在这里遗漏了一些东西?
    • 可能是配置问题,我应该在 web.config 中添加类似的内容: ?这会导致 POST 工作吗?
    【解决方案2】:

    您可以将 IIS 查找的第一个页面设置为 index.aspx,然后在该页面上执行 Response.Redirect("~/Default.aspx", true),这应该会重现您需要的内容。

    【讨论】:

    • Response.Redirect 是问题所在。 IIS 正在给他一个重定向,这就是帖子失败的原因。重定向告诉浏览器发出 GET 请求。
    • Matt 是对的,我已经在使用 IIS 的此功能 - 重定向到默认页面之一 - 但它失败了。等等,马特——如果我删除所有默认页面会怎样……会发生什么?如果我有一个只有一页的网站?他会得到这个职位吗?
    • 可能是配置问题,我应该在 web.config 中添加类似的内容: ?这会导致 POST 工作吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 2012-09-11
    • 2015-01-02
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多