Domanda

Vorrei abilitare un servizio Web ASP.NET classico (ASMX) per le richieste HTTP POST e GET. Mi rendo conto che questo può essere fatto a livello di macchina o applicazione aggiungendo ...

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

.. su machine.config o web.config. La mia domanda è: è possibile abilitare le richieste HTTP POST e GET per servizio Web o livello di metodo Web anziché per applicazione o macchina?

Il mio servizio web è scritto in c # usando net 3.5sp1.

È stato utile?

Soluzione

Prova a dichiarare UseHttpGet sul tuo metodo.

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

Altri suggerimenti

In realtà, ho trovato un modo un po 'bizzarro per farlo. Aggiungi il protocollo a web.config, ma all'interno di un elemento location. Specifica la posizione del servizio web come attributo path, in questo modo:

<location path="YourWebservice.asmx">
  <system.web>
    <webServices>
      <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
      </protocols>
    </webServices>
  </system.web>
</location>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top