.NET 的 ConfigurationManager 如何处理 web.config?

发布于 2024-10-31 23:56:26 字数 340 浏览 7 评论 0原文

在我正在进行的项目中,我们通常将应用程序设置定义在单独的文件中。这就是多年来的做法,今后我们希望将所有系统配置保存在一个文件中。我正在考虑使用 web.config 部分,这样我就可以使用 ConfigurationManager 类从服务器上运行的 C# 代码加载所需的配置。

如果我使用我们自己的方式进行应用程序设置,我会将其加载到会话中,并通过从会话中加载值来使其可用于应用程序。经过一些在线阅读后,使用会话背后的一些性能问题似乎是我们必须反序列化会话对象中的值。

每次我们使用 ConfigurationManager 读取值时,IIS 是否都会反序列化 web.config 值?

谢谢你, 维杰·塞尔瓦拉吉

On a project I am working on, we usually keep our application settings defined in a separate file. This is how it has been done for many years, and going forward we would like to keep all system configurations in one file. I was considering to use the web.config section so I can just load the configurations that I need from my C# code running on the server using the ConfigurationManager class.

If I use our own way for the application settings, I would load it in a session and have it available for the application by loading values from the session. After some reading online it looks like some of the performance issues behind using the session is that we have to deserialize the values from the session object.

Does IIS deserialize the web.config values each time we read values using the ConfigurationManager?

Thank you,
Vijay Selvaraj

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

捶死心动 2024-11-07 23:56:26

Web.config 在加载 AppDomain 时被读取一次。如果对其或任何引用的文件进行任何更改,它将刷新(您可以通过在节上使用 configsection= 属性将节放入外部文件中)

Web.config is read once upon loading of the AppDomain. It is refreshed if any changes are made to it or any referenced files (you can put sections into external files by using the configsection= attribute on a section)

記柔刀 2024-11-07 23:56:26

不会,配置节会反序列化为自定义类,仅在重新读取配置文件时(例如回收应用程序池、检测到 web.config 的更改以及其他一些条件时)才反映它们。

另请参阅此问题

No, configuration sections are deserialized into the custom classes that reflect them only when the configuration file is re-read (such as when the app pool is recycled, a change to web.config is detected, and a couple of other conditions).

See also this question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文