теги в коде позади. Но я думаю, что вы упускаете его точку зрения - эти теги имеют отношение к тому, если вы получаете или публикуете данные в любом месте. Он позволяет использовать несколько мест для получения / публикации данных в web.config. У меня был только один пункт назначения данных, поэтому я счел это ненужным, но его комментарий / ответ точен для его потребностей и, возможно, других, если их несколько. Наличие нескольких местоположений не имеет никакого отношения к тому, какой тег вы используете в своем коде - это зависит только от того, получаете ли вы / отправляете (публикуете) данные.

ел бы включить классический веб-сервис 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.

Ответы на вопрос(2)

я нашел несколько причудливый способ сделать это. Добавьте протокол в ваш web.config, но внутри элемента location. Укажите местоположение веб-сервиса в качестве атрибута пути, например:

<location path="YourWebservice.asmx">
  <system.web>
    <webServices>
      <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
      </protocols>
    </webServices>
  </system.web>
</location>
 Naman Upadhyay07 мар. 2019 г., 06:05
@ahwm Если мы хотим использовать метод HttpPost, нам нужно записать его как[ScriptMethod(UseHttpGet = false)] Верный??
 vapcguy06 мар. 2018 г., 23:29
Только вам не нужноlocation часть.system.web живет прямо внутри главной<configuration> узел.
 ahwm05 мар. 2019 г., 19:35
@vapcguy Это зависит от того, что вы пытаетесь достичь. Если у вас есть несколько служб, но требуется поддержка только однойGET, это позволит это только для одного. Если вам все равно, относится ли это ко всем из них, тогда да, вы можете просто указать это в общемsystem.web раздел
 vapcguy07 мар. 2019 г., 17:15
@NamanUpadhyay Лучше просто использовать[HttpGet] а также[HttpPost] теги в коде позади. Но я думаю, что вы упускаете его точку зрения - эти теги имеют отношение к тому, если вы получаете или публикуете данные в любом месте. Он позволяет использовать несколько мест для получения / публикации данных в web.config. У меня был только один пункт назначения данных, поэтому я счел это ненужным, но его комментарий / ответ точен для его потребностей и, возможно, других, если их несколько. Наличие нескольких местоположений не имеет никакого отношения к тому, какой тег вы используете в своем коде - это зависит только от того, получаете ли вы / отправляете (публикуете) данные.
Решение Вопроса

Попробуйте объявить UseHttpGet над вашим методом.

[ScriptMethod(UseHttpGet = true)]
public string HelloWorld()
{
    return "Hello World";
}
 tanathos10 янв. 2011 г., 17:15
извините, но, кажется, нет возможности сделать это
 JohnIdol10 янв. 2011 г., 14:54
как насчет того, чтобы включить его для всех методов в данном сервисе без указания атрибута для каждого из них?
 Nitin Sawant08 июн. 2014 г., 17:41
Привет, как вы получаете параметры, переданные этому методу?
 Bart Calixto21 дек. 2011 г., 13:40
Я думаю, вы можете украсить класс. не уверен, что

Ваш ответ на вопрос