这两个方法属性在功能上的主要区别是什么?
最佳答案
[HttpPost]
是在 ASP.Net MVC 中装饰 Controller 或 Controller 操作的属性。如果请求类型为“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 服务方法。
关于c# - [HttpPost] 和 [WebMethod] 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21398630/