71

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 要求を有効にできますか?

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

4

2 に答える 2

53

メソッドで UseHttpGet を宣言してみてください。

[ScriptMethod(UseHttpGet = true)]
public string HelloWorld()
{
    return "Hello World";
}
于 2009-03-06T14:08:30.057 に答える
46

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

<location path="YourWebservice.asmx">
  <system.web>
    <webServices>
      <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
      </protocols>
    </webServices>
  </system.web>
</location>
于 2011-03-21T11:52:31.970 に答える