web-dev-qa-db-ja.com

HTTP POST / GETリクエストに対してASP.NET ASMX Webサービスを有効にする

HTTP POSTおよびGET要求のASP.NETクラシック(ASMX)Webサービスを有効にしたいと思います。

<webServices>
    <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
    </protocols>
</webServices>

.. machine.configまたはweb.configに。私の質問は、HTTP POSTおよびGETリクエストは、アプリケーションまたはマシンごとではなく、WebサービスまたはWebメソッドレベルごとに有効にできますか?

私のWebサービスは、net 3.5sp1を使用してC#で記述されています。

64
Dean Bates

メソッドに対してUseHttpGetを宣言してください。

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

実際、私はこれをやや風変わりな方法で見つけました。プロトコルをweb.configに追加しますが、location要素内に追加します。次のように、パス属性としてWebサービスの場所を指定します。

<location path="YourWebservice.asmx">
  <system.web>
    <webServices>
      <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
      </protocols>
    </webServices>
  </system.web>
</location>
42
BLΞND OnLine