什么是ASP.NET Webservice请求生命周期?
在常规的aspx
页面上,我有一些事件,例如Page_Init
, Page_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
派生的,因此它们不会有您要查找的事件。