Включить веб-сервис ASP.NET ASMX для запросов HTTP POST / GET
-
03-07-2019 - |
Вопрос
Я хотел бы включить классический веб-сервис ASP.NET (ASMX) для запросов HTTP POST и GET. Я понимаю, что это можно сделать на уровне компьютера или приложения, добавив ...
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
.. на machine.config или web.config. Мой вопрос заключается в том, могут ли запросы HTTP POST и GET быть включены для уровня веб-службы или веб-метода, а не для приложения или компьютера?
Мой веб-сервис написан на c # с использованием net 3.5sp1.
Решение
Попробуйте объявить UseHttpGet над вашим методом.
[ScriptMethod(UseHttpGet = true)]
public string HelloWorld()
{
return "Hello World";
}
Другие советы
На самом деле, я нашел несколько причудливый способ сделать это. Добавьте протокол в ваш web.config, но внутри элемента location. Укажите местоположение веб-службы в качестве атрибута пути, например так:
<location path="YourWebservice.asmx">
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</location>
Не связан с StackOverflow