如何在 ASP.NET 模块中处理应用程序启动事件
我正在编写一个 asp.net HTTP 模块,它需要从本地文件(例如存储在应用程序根目录中的 config.xml)读取配置数据一次,然后根据配置对传入请求执行一些处理。
由于 Asp.NET 模块中没有可用的 Application_Start/Application_init 挂钩,因此处理这种情况的最佳方法是什么。我试图避免每次收到请求时读取配置文件。理想情况下,我想在应用程序启动时读取配置文件。
我只需要在 http 模块中对此进行编码,并且不想使用 Global.asax
I am writing an asp.net HTTP module which needs to read configuration data once from a local file (say config.xml stored in application root directory) and then based on configuration perform some processing on incoming requests.
Since there is no Application_Start/Application_init hooking available in Asp.NET modules, what would be the best way to handle the scenario. I am trying to avoid reading configuration file each time a request comes. Ideally, I want to read the config file when application starts.
I need to code this in http module only and do not want to use Global.asax
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我会选择一个简单的属性,像这样......
这样你就可以通过属性从 Config 访问你需要的任何东西......
并且它会加载到应用程序对象中(如果它还没有加载)
如果你需要配置基于每个用户而不是全局,然后只需使用
Session["MyConfig"]
而不是Application["MyConfig"]
I'd go for a simple property, something like this ...
that way you just access whatever you need from Config via the property ...
and it's loaded into the application object if it hasn't been already
If you need the config on a per-user basis rather than globally, then just use
Session["MyConfig"]
instead ofApplication["MyConfig"]
不确定这是否有效,但您也许可以在模块的 初始化方法。
Not sure if this would work, but you might be able to implement this in the module's init method.
在 httpmodule 的 init 方法中,您可以连接到上下文中的事件。
例如 :
In the init method of your httpmodule you can hook up to the event in the context.
For example :
静态变量就达到了目的。如果有人感兴趣的话,这是代码 -
static variable did the trick. here is the code if someone is interested -