【问题标题】:How to Restart MVC4 project Programmatically如何以编程方式重新启动 MVC4 项目
【发布时间】:2014-02-16 12:52:00
【问题描述】:

我需要以编程方式重新启动我的 mvc4 Web 应用程序。但是System.Web.HttpRuntime.UnloadAppDomain() 不起作用。

重新启动 asp.net mvc 应用程序的最佳方法是什么?请注意,更改 web.config 内容或文件夹名称并不能解决我的问题。

【问题讨论】:

  • 为什么System.Web.HttpRuntime.UnloadAppDomain() 不适合你?
  • 通过在 IIS 中重新启动网站。您是否希望从您的 MVC 应用程序中执行此操作?我能再问一下为什么必须重新启动应用程序吗?
  • 我正在使用类似 [CustomOutputCache(DurationApplicationKey = "cacheSql", Location = OutputCacheLocation.Server)] 的输出缓存,因此当从管理面板更改数据库时,应用程序将重新启动并且值将被采取。
  • @Darin Dimitrov,我不知道,但我的管理面板是经典的 asp.net,用户界面是 mvc4。您也可以查看此链接:daron.yondem.com/en/post/d82b6b05-8c59-4136-becd-329156083b75

标签: c# asp.net asp.net-mvc


【解决方案1】:

这段代码对我有用。只需调用它来重新加载应用程序。

System.Web.HttpRuntime.UnloadAppDomain();

More info

这个方法只会卸载我们的应用程序。如果您只是将此方法放在 ASP.NET Web 按钮中,那么您就完全完成了。那么我们的应用程序什么时候会重新加载呢?实际上,如果您单击按钮,它将首先启动我们的方法并卸载应用程序。在那一刻我们所在的网页上也将重新加载,因为我们只需单击一个按钮,网页就会刷新。启动我们的方法后,页面刷新过程也会导致我们的应用程序重新加载。

【讨论】:

    【解决方案2】:

    编辑 - 查看问题中对 OutputCache 的评论后,您可以通过编程方式使 OutputCache 无效,Check this out

    如果您仍然想重新启动 IIS 或 AppPool,那么您可以关注这些资源 -

    【讨论】:

    • 重新启动 400 个站点的完整 IIS,只是为了重新启动一个站点?更好的主意,重启。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多