我想为HTTP POST和GET请求启用ASP.NET经典(ASMX)Web服务。我意识到这可以通过添加...

在机器或应用程序级别完成
<webServices>
    <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
    </protocols>
</webServices>

..到machine.config或web.config。我的问题是,每个Web服务或Web方法级别是否可以启用HTTP POST和GET请求,而不是按应用程序或计算机启用?

我的网络服务使用net 3.5sp1以c#编写。

有帮助吗?

解决方案

尝试在您的方法上声明UseHttpGet。

[ScriptMethod(UseHttpGet = true)]
public string HelloWorld()
{
    return "Hello World";
}

其他提示

实际上,我发现了一种有点古怪的方法。 将协议添加到web.config,但在location元素中。将webservice位置指定为path属性,如下所示:

<location path="YourWebservice.asmx">
  <system.web>
    <webServices>
      <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
      </protocols>
    </webServices>
  </system.web>
</location>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top