我正在嘗試使Web服務能夠以不同方式響應HttpGet和HttpPost請求。ASP.NET Web服務 - 將方法限制爲HttpGet或HttpPost
我已經啓用HTTPGET本:
<webServices>
<protocols>
<add name="HttpGet"/>
</protocols>
</webServices>
我開了2個功能,一個應該爲HttpPost請求和其他被解僱 - 對HTTPGET:
[WebMethod]
[HttpPost]
[ActionName("HelloWorld")]
public string HelloWorldPost()
{
return "Hello POST World";
}
[WebMethod]
[HttpGet]
public string HelloWorld()
{
return "Hello GET World";
}
但是似乎HttpGet,HttpPost和ActionName完全被忽略。所有對HelloWorld的請求(post或get)都會觸發第二個函數。我需要以其他方式做這個嗎?我也試圖限制這個功能:
[ScriptMethod(UseHttpGet = false)]
但這也沒有什麼區別。
你使用的是asp.net webapi嗎? –
我猜不是...我使用Visual Studio(.NET framework 3.5)中的「ASP.NET Web Service Application」項目類型。我沒有下載任何額外的庫或apis。 – Vampire
HttpPostAttribute是從MVC和只存在於.NET 4.0中http://msdn.microsoft.com/en-us/library/system.web.mvc.httppostattribute(v=vs.108).aspx –