gpt4 book ai didi

.net - 更改文件时如何让 ASP.NET 重新启动?

转载 作者:行者123 更新时间:2023-12-01 09:11:11 24 4
gpt4 key购买 nike

我有一个 ASP.NET 应用程序,它是一个更大系统的一部分;它从 Web 应用程序根级别以上的文件中读取大部分配置。

由于已经编写了应用程序并且选择了配置文件的格式以方便客户编辑,我无法使用 “Shared configuration files in .NET”. 中的解决方案

我希望 ASP.NET 有一个 API,我可以在启动时调用它来告诉它要观看哪个文件。 (我可以使用“FileSystemWatcher”来编写这个硬方法并捕获事件然后自己重​​新启动,但是这将是一个遗憾,因为 ASP.NET 已经有代码来监视文件并在更改时重新启动。)

我还要调用什么 ASP.NET API 来让 ASP.NET 以一种好的方式重新启动?

这些是我发现的一些可能有帮助的链接: Using the FileSystemWatcher from ASP.NETExtending FileSystemWatcher to ASP.NET


在一种情况下,我将配置缓存在 ASP.NET 缓存中,并将 CacheDependency 设置为文件。在另一种需要更快访问的情况下,我使用了 FileSystemWatcher 并在配置更改时更新了一个静态字段。

(我从来没有发现如何以合理的方式从代码中重新启动 ASP.NET。)

最佳答案

  static FileSystemWatcher ConfigWatcher;

static void StartWatchConfig() {

ConfigWatcher = new FileSystemWatcher("configPath") {
Filter = "configFile"
};

ConfigWatcher.Changed += new FileSystemEventHandler(ConfigWatcher_Changed);
ConfigWatcher.EnableRaisingEvents = true;
}

static void ConfigWatcher_Changed(object sender, FileSystemEventArgs e) {
HttpRuntime.UnloadAppDomain();
}

关于.net - 更改文件时如何让 ASP.NET 重新启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/883245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com