在常规aspx
页面上,我有Page_Init
,Page_Unload
等事件,这些事件发生在in a well-defined order。
我有一个提供asmx
的{{1}}页面。是否存在类似的事件?特别是,一些允许我初始化某些数据(如[WebMethod()]
)并进行一些清理(如Page_Load
)的事件将非常有用。
(据我所知,Page_Unload
代码隐藏类的构造函数似乎在每个WebMethod请求上都被调用,即为每个WebMethod请求创建一个新实例,但这只是一个观察,而不是我发现某处记录的东西......)
答案 0 :(得分:9)
是 - Otavio是正确的,ASMX Web服务没有Page事件,因为它们不是从Page派生的。
但是,该请求遵循常规ASP.NET processing pipeline。
在执行相关IHttpHandler的过程中有一点。这可以是页面,通用HTTP处理程序或Web服务。
这是Web服务请求执行的地方。
所以,这真的取决于你在这里尝试做什么。 ctor应该为预请求执行提供良好的挂钩。如果您正在寻找更早的东西,那么您可能需要挂钩Global.asax事件。
答案 1 :(得分:1)
asmx
个对象不是来自Page,而是来自System.Web.Services.WebService
,因此他们不会拥有您正在寻找的事件。