1

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

感谢您的洞察力!

4

2 回答 2

7

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

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

于 2009-07-10T20:23:21.437 回答
0

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

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

于 2009-07-10T20:25:49.683 回答