什么是ASP.NET Webservice请求生命周期?

在常规的aspx页面上,我有一些事件,例如Page_InitPage_Unload等,它们以明确定义的顺序发生 。

我有一个提供[WebMethod()]asmx页面。 是否存在类似的事件? 特别是,一些允许我初始化一些数据(如Page_Load )并进行一些清理(如Page_Unload )的事件将非常有用。

(据我所知, asmx代码隐藏类的构造函数似乎在每个WebMethod请求上被调用,即,为每个WebMethod请求创建一个新实例,但这只是一个观察,而不是我所做的事情发现在某处…

是的 – Otavio是正确的,ASMX Web服务没有Page事件,因为它们不是从Page派生的。

但是,该请求遵循常规ASP.NET处理管道 。

在执行相关IHttpHandler的过程中有一点。 这可以是页面,通用HTTP处理程序或Web服务。

这是Web服务请求执行的位置。

所以,这真的取决于你在这里尝试做什么。 ctor应该为预先请求执行提供良好的挂钩。 如果您正在寻找更早的东西,那么您可能需要挂钩Global.asax事件。

asmx对象不是从Page派生的,而是从System.Web.Services.WebService派生的,因此它们不会有您要查找的事件。