我正在尝试使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 –