This topic has not yet been rated - Rate this topic

WebInvokeAttribute.Method Property

Gets and sets the protocol (for example HTTP) method the service operation responds to.

Namespace:  System.ServiceModel.Web
Assembly:  System.ServiceModel.Web (in System.ServiceModel.Web.dll)
public string Method { get; set; }

Property Value

Type: System.String
The protocol method associated with the operation.

Method defaults to POST.

The following example shows how to set the Method property.


[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "Mod?x={x}&y={y}")]
long Mod(long x, long y);


.NET Framework

Supported in: 4, 3.5

.NET Framework Client Profile

Supported in: 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Method does not always default to POST
In my testing, method sometimes defaults to GET creating confusing errors after reading the above document. $0$0 $0 $0++Alan$0
POST with querystring UriTemplate sample
$0[OperationContract] [WebInvoke(Method = "POST", UriTemplate = "Mod?x={x}&y={y}")] long Mod(long x, long y); $0 $0$0 $0 $0This was a very strange sample, since the UriTemplate infers a GET implementation, not a POST implementation, although the sample is supported (request body would be empty but request verb would be POST).$0 $0$0 $0 $0It is important to also note that an operation can only support one verb; however, two operations (for example, one for POST and one for GET) can support the same URI, as with this example:$0 $0$0 $0 $0 $0[OperationContract] [WebInvoke(Method = "GET", UriTemplate = "Mod?x={x}&y={y}")] long Mod_Get(long x, long y); $0 $0 $0$0 $0 $0 $0[OperationContract] [WebInvoke(Method = "POST")] long Mod(long x, long y); $0 $0 $0$0 $0