检测web.config已更改

问题描述 投票:3回答:3

我创建了一个HTTPModule,该日志应该记录请求和响应。告诉http模块如何工作的参数位于web.config中。但是,为了使http模块可以使用参数的最新值,每个请求我都从app.config中读取参数。

有没有一种方法可以检测web.config中的更改,以便我可以重新加载http模块参数,而不是每次有响应时都读取它们?

c# .net asp.net web-config httpmodule
3个回答
7
投票

您根本不需要这样做。您只能加载这些属性一次,并将它们存储在某个位置。每次web.config更改整体时,您的ASP.NET应用程序都会重新启动,并且http模块将不得不再次初始化。


2
投票

@@ Ladislav和@velijoz是正确的。仅读取一次web.config并将值存储在内存中,直到应用重新启动为止,因为例如更改了web.config。

当然,除非您直接打开并阅读文件。那将是一件坏事。

如果设置有规律地更改,则可以将它们放在另一个文件中,读取值并将它们存储在高速缓存中,并对该文件具有高速缓存依赖性。这样,您无需每次重新启动应用程序即可更改设置。当您更改设置文件时,缓存依赖性将使缓存无效,并且您的代码可以再次读取该文件。

Simon


0
投票

我最近了解到的是,例如,当您从技术上更改web.config时,asp.net应用程序会not重新启动-它将卸载。当您在下一个请求中触发或启动应用程序池时,它将开始加载。

我是出于对asp.net开发人员的普遍误解而提出的;]

© www.soinside.com 2019 - 2024. All rights reserved.