verbs verbos sirven que peticion para metodos metodo los ejemplo delete c# .net wcf constants

c# - verbos - ¿Hay constantes en el marco.NET para los diferentes tipos de métodos web(GET, PUT, POST, DELETE, HEAD)?



para que sirven los metodos http (2)

Me acabo de dar cuenta al crear un servicio RESTful WCF que el parámetro Método en el atributo WebInvoke es sensible a mayúsculas y minúsculas (se requiere CAPS).

Asi que,

[WebInvoke(Method = "Delete")]

no es igual a

[WebInvoke(Method = "DELETE")]

Este error causaba una ProtocolException :

System.ServiceModel.ProtocolException: el servidor remoto devolvió una respuesta inesperada: (405) Método no permitido.

Me preguntaba si existe un conjunto de constantes en el framework .NET que debería estar usando en lugar de "DELETE" en el ejemplo anterior. Por supuesto, podría definir mi propio conjunto de constantes, pero si se siente como algo que probablemente exista en el marco y me lo estoy perdiendo.


Un poco indirecto, pero hay constantes de System.Net.WebRequestMethods.Http :

public const string Connect = "CONNECT"; public const string Get = "GET"; public const string Head = "HEAD"; public const string MkCol = "MKCOL"; public const string Post = "POST"; public const string Put = "PUT";

pero no "BORRAR": sugiérele que haga la suya ...

Curiosamente, hay un System.Web.HttpVerb , pero es internal , por lo que no se puede usar, y es una enumeración, por lo que para usar el nombre en un atributo necesitarás un poco de hackeo.