这两个方法属性在功能上有哪些主要区别?
答案 0 :(得分:5)
[HttpPost]
是一个在ASP.Net MVC中修饰控制器或控制器动作的属性。如果类型为“POST”,您将使用它仅允许请求输入此操作方法。
通常看起来像这样:
[HttpPost]
public ActionResult MyControllerAction()
{
// only can get here if httprequest was a "POST"
}
[WebMethod]
属性用于装饰通常用于制作Web服务的旧学校.asmx页面上的方法。将[WebMethod]
属性附加到Public方法表示您希望将该方法作为XML Web服务的一部分公开。
通常在.asmx页面上看起来像这样:
public class Service1 : System.Web.Services.WebService
{
[WebMethod] // exposes XML Web Service Method
public DataSet IAmAWebServiceMethod()
{
//implementation code
}
}
它们不具有可比性,并且完全不同的操作。一个处理Web应用程序的“POST”请求,另一个处理XML Web服务方法。
答案 1 :(得分:1)
他们之间没有比较。 [WebMethod]
是旧版ASMX Web服务技术的一部分,不应用于新开发。
答案 2 :(得分:0)
我认为这些主题已经有很多讨论 它们完全不同,请查看这些链接,了解两者的基本概念