Question

Je souhaite activer un service Web ASP.NET Classic (ASMX) pour les requêtes HTTP POST et GET. Je réalise que cela peut être fait au niveau de la machine ou de l'application en ajoutant ...

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

.. au fichier machine.config ou web.config. Ma question est la suivante: les demandes HTTP POST et GET peuvent-elles être activées par service Web ou niveau de méthode Web plutôt que par application ou ordinateur?

Mon service Web est écrit en c # avec net 3.5sp1.

Était-ce utile?

La solution

Essayez de déclarer UseHttpGet sur votre méthode.

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

Autres conseils

En fait, j’ai trouvé un moyen un peu bizarre de le faire. Ajoutez le protocole à votre web.config, mais à l'intérieur d'un élément location. Spécifiez l'emplacement du service Web en tant qu'attribut path, comme suit:

<location path="YourWebservice.asmx">
  <system.web>
    <webServices>
      <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
      </protocols>
    </webServices>
  </system.web>
</location>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top