使用.asmx文件或.aspx文件接收请求?

时间:2009-07-10 20:20:34

标签: asp.net asmx http-post

我正在设置我的网站,通过短信接收来自人们的信息。它的工作方式是文本编号,然后该服务将HTTP POST发送到我指定的URL。我听说.asmx文件比.aspx文件更好,因为它们不会经历整个页面生命周期。但是,我真的不明白如何运行.asmx文件,甚至可以通过POST调用它,即www.mysite.com/webservice.asmx?我知道我可以使用.aspx文件,但我想在我开展这项工作之前检查是否有更好的方法。

感谢您的见解!

2 个答案:

答案 0 :(得分:7)

虽然任何扩展都可以映射到ASP.NET中的任何处理程序,但默认情况下.aspx映射到页面处理程序,.asmx映射到Web服务处理程序。我认为您正在寻找代表通用简单处理程序的.ashx。在向项目添加一个ProcessRequest接口后,您只需要实现IHttpHandler接口(添加新项->通用处理程序)。

如果您想手动处理请求,.ashx效果很好。仅当您要提供Web服务(例如SOAP)时,才应使用.asmx。因此,最佳解决方案取决于它们发送的HTTP POST请求的格式。如果他们使用自己的特定协议在POST中发送原始数据,请使用.ashx。否则,如果他们使用标准RPC(SOAP,XML-RPC,...)协议,.asmx可能更好。

答案 1 :(得分:0)

使用Visual Studio创建.asmx文件。它应该使用 HelloWorld 方法创建模板。使用您喜欢的浏览器浏览到它,您实际上将获得有关如何使用各种方法向其发布请求的说明。

你还没有提到另一种类型:ashx。但是,在您的情况下,Web服务(asmx)是有意义的。