【发布时间】:2015-09-22 19:09:50
【问题描述】:
我们可以在.NET 类库项目中使用Global.asax 文件吗?因为我在任何地方都没有看到 Global.asax 文件只能用于基于 Web 的应用程序。
Global.asax 文件的代码正在编译并在应用程序启动时被 .net 框架调用。我想在我的类库中使用类似的功能,即当我的类库被加载到内存中时,将调用类库的Global.asax 文件的Application_Start。
我知道这可以使用静态构造函数,但我想为此使用Global.asax。
任何建议/cmets 将不胜感激..
谢谢
【问题讨论】:
-
对类库使用
Global.asax会很奇怪。为什么需要初始化代码?你想做什么? -
类库不是“启动”的应用程序,它们只是一个包含类集合的单个文件 (.dll)。通常,这些类可能需要的任何初始化代码都将在它们的构造函数中完成。
-
Global.asax 不是因为必须运行而运行的神秘代码,而是由 IIS 运行的,因为 IIS 知道此类代码是某些服务的初始化例程。因此,您可以轻松地应用一些具有严格定义的初始化、清理例程的插件(插件)模型,这些例程将在您通过适当的机制加载插件 dll 时调用。
-
感谢 cmets,Yuval。我知道库不是应用程序,这就是我使用未初始化加载的原因。库加载,我认为它类似于应用程序启动。
-
所以基本上 global.asax 不应该与类库项目一起使用?