ASP.NET Core 1.0/MVC 6以编程方式重新启动应用程序

问题描述:

如何以编程方式重新启动当前应用程序?ASP.NET Core 1.0/MVC 6以编程方式重新启动应用程序

基本上在Startup.cs中,我需要从程序集中加载一些服务,这将需要IIS重新启动或应用程序重新启动/ Startup.cs重新运行。

重新启动应用程序始终存在问题。

也许你想考虑使用类似dnx-watch这将会看你的应用程序,并在文件更改时重新启动它。

只要你使用IIS集成,你可以像这样使用hack:编辑(编程)你的web.config文件。 IIS观看此文件并将重新启动您的网站。

例如,您可以在文件末尾附加一个空格。

当然这将是'冷'重启,整个dnx进程将重新启动。您的网站将在一段时间内无法使用。

可以像工作回收应用程序池?

System.Diagnostics.Process process = new System.Diagnostics.Process(); 
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); 
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
startInfo.FileName = "appcmd.exe"; 
startInfo.Arguments = "recycle apppool /apppool.name:AppPool_NAME"; 
process.StartInfo = startInfo; 
process.Start();