Tutorial :Enable ASP.NET ASMX web service for HTTP POST / GET requests


I would like to enable a ASP.NET classic (ASMX) web service for HTTP POST and GET requests. I realise this can be done on a machine or application level by adding ...

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

.. to the machine.config or web.config. My question is can HTTP POST and GET requests be enabled per web service or web method level rather than per application or machine?

My web service is written in c# using net 3.5sp1.


Try to declare UseHttpGet over your method.

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


Actually, I found a somewhat quirky way to do this. Add the protocol to your web.config, but inside a location element. Specify the webservice location as the path attribute, like so:

<location path="YourWebservice.asmx">    <system.web>      <webServices>        <protocols>          <add name="HttpGet"/>          <add name="HttpPost"/>        </protocols>      </webServices>    </system.web>  </location>  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »