Pergunta

Gostaria de permitir que um clássico (ASMX) serviço web ASP.NET para HTTP GET e POST solicitações. Sei que isso pode ser feito em um nível de máquina ou aplicativo adicionando ...

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

.. ao machine.config ou web.config. A minha pergunta é pode HTTP GET e POST solicitações estar habilitado por serviço web ou nível de método web e não por aplicação ou máquina?

O meu serviço web é escrito em C # usando 3.5SP1 net.

Foi útil?

Solução

Tente declarar UseHttpGet sobre o seu método.

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

Outras dicas

Na verdade, eu encontrei uma maneira um tanto peculiar de fazer isso. Adicione o protocolo para o seu web.config, mas dentro de um elemento local. Especifique o local webservice como o atributo de caminho, assim:

<location path="YourWebservice.asmx">
  <system.web>
    <webServices>
      <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
      </protocols>
    </webServices>
  </system.web>
</location>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top