我正在编写一个具有“插件”的 Web 应用程序。插件将是 .DLL 文件,它们将通过预定义的接口导出其功能。所有 .DLL 文件都位于名为“Plugins”的文件夹中,ASP.NET 应用程序在启动时将它们全部加载(通过使用 Assembly.LoadFrom)。
问题是在开发时,这些插件会经常变化(所有功能都在插件中,网站本身只是一个骨架)。因此,我需要一种在 .DLL 文件更改时自动重新启动应用程序的方法。
我怎么做?
如果 plugins 目录在您的 Bin 目录下,则当任何更改时,Web 应用程序将自动重新启动。
FileSystemWatcher类是此类问题的通用解决方案,并且是HttpRuntime.UnloadAppDomain();
重新启动应用程序的一种方法。我认为需要更多的研究/解释:有很多可能的解决方案。
编辑:探测路径。不错的答案。