在常规 aspx
页面上,我有 Page_Init
、Page_Unload
等事件,这些事件会发生 in a well-defined order .
我有一个提供 [WebMethod()]
的 asmx
页面。是否存在类似事件?特别是,允许我初始化一些数据(如 Page_Load
)并进行一些清理(如 Page_Unload
)的一些事件将非常有用。
(据我所知,asmx
代码隐藏类的构造函数似乎在每个 WebMethod 请求上都会被调用,即,为每个 WebMethod 请求创建一个新实例,但是这个只是一个观察,而不是我在某处发现的记录......)
最佳答案
是的 - Otavio 是正确的,ASMX Web 服务没有页面事件,因为它们不是从页面派生的。
但是,请求遵循常规 ASP.NET processing pipeline .
进程中有一个点执行了相关的IHttpHandler。这可以是页面、通用 HTTP 处理程序或 Web 服务。
这是执行 Web 服务请求的地方。
所以,这实际上取决于您在这里尝试做什么。 ctor 应该提供一个很好的 Hook 来预请求执行。如果您正在寻找更早的东西,那么您可能需要连接到 Global.asax 事件。
关于c# - 什么是 ASP.NET Web 服务请求生命周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3967806/