【问题标题】:Why would my webservice method get called via GET?为什么我的 webservice 方法会通过 GET 调用?
【发布时间】:2009-05-22 21:51:13
【问题描述】:

我有一个带有 *.asmx 的 asp.net 3.5 站点,它提供多种 Web 服务方法。唯一应该调用这些方法的客户端是我编写的,它使用 POST 请求调用它们。但是,由于使用 GET 请求调用这些方法,我的错误日志显示了许多 InvalidOperationException 错误。

问题:什么可能导致这些 GET 请求?代理是否可以将 POST 请求转换为 GET 请求,而客户端发出请求时并不知道它?

【问题讨论】:

    标签: asp.net web-services


    【解决方案1】:

    扩展 rusanu 的答案、机器人和爬虫和/或黑客?

    【讨论】:

    • 黑客是我的第一个假设,但它发生得太频繁了。如果是黑客,他们不是离散的。谢谢。
    【解决方案2】:

    机器人和爬虫?

    【讨论】:

    • 我不确定机器人如何找到要调用的 URL。用户代理字符串几乎总是空的。那些不是我可以固定到试图从浏览器调用服务的用户。
    【解决方案3】:

    您的客户端应用程序中始终可能存在错误。为什么不使用 HTTP 嗅探器,这样您就可以准确地看到正在发送的请求。

    【讨论】:

    • 我必须调查一下。客户端是使用 ATL 类访问 Web 服务的 MSVC C++ 应用程序。也许他们在某些情况下默认使用 GET?
    • 我单步执行了客户端代码并验证了 ATL SOAP 类始终将方法设置为 POST。我仍然认为网络路径上的某些东西正在将请求从 POST 更改为 GET。谢谢。
    猜你喜欢
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 2014-03-18
    相关资源
    最近更新 更多