是否有推荐的方式来反弹一个asp.net应用程序,除了从应用程序内部触摸web.config?是HttpRuntime.UnloadAppDomain()
;这样做的首选方法?如果是的话,你在哪里做这个?在应用程序中卸载页面或其他地方?如何重新启动asp.net应用程序,除了修改web.config
回答
如果这是.NET 2.0或更高版本,那么您可以添加一个“App_offline.htm”文件,向服务器发出请求,将其删除,然后向服务器发出另一个请求。
只要app_offline.htm文件存在于文件夹中,这一系列事件就会强制ASP.NET卸载应用程序。
斯科特Guthrie的就可以了博客条目: http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx
从应用程序中触摸web.config文件是一个坏主意,海事组织。此外,有一个你修改的文件的想法是一个小黑客,国际海事组织。
的文件明确规定,UnloadAppDomain
将关闭应用程序:
UnloadAppDomain允许使用的应用程序编程关机。
您应该可以在应用程序的任何位置进行此调用。请注意,您可能会得到SecurityException
,因此请确保运行时为您提供适当的权限(您可能希望将其放入库中并拨打电话,然后在GAC中将该库设置为具有充分信任的证据) )。
如果您不想停止并启动应用程序池,则可以随时回收它。
您可以通过调用做到这一点HttpRuntime.ShutdownAppDomain方法(需要使用反射来调用它,因为它是一个私有的静态方法)
如何我的一个例子见How to restart an IIS Worker Process programmatically (i.e. shutdown the current ASP.NET Domain)在“重新启动”REST API中使用此方法
通过在应用程序目录下运行时创建或重命名文件夹,可以安全地重新启动Web应用程序。很明显,您需要为分配给用户运行应用程序“修改”Web目录或其下的子目录的权限。
该方法在 http://www.bartlannoeye.be/blog/restarting-a-.net-web-application-without-restarting-iis
提到我用下面的代码来执行它在我的情况。修改它在“可写”子目录上工作
protected void RestartButton_Click(object sender, EventArgs e)
{
//restart web app (instead of iisreset)
DirectoryInfo dir = new DirectoryInfo(Server.MapPath("restart"));
if (dir.Exists)
{
Directory.Move(dir.FullName, dir.FullName + "ed");
}
else
{
DirectoryInfo dired = new DirectoryInfo(Server.MapPath("restarted"));
if (dired.Exists)
{
Directory.Move(dired.FullName, dir.FullName);
}
else
{
Directory.CreateDirectory(dir.FullName);
}
}
}
此代码适用于我。只需调用它来重新加载应用程序。
System.Web.HttpRuntime.UnloadAppDomain();
这种方法只会卸载我们的应用程序。如果你只是把这个方法放在一个ASP.NET web按钮中,那么你完全完成了。那么我们的应用何时会重新加载?实际上,如果你点击你的按钮,它会首先启动我们的方法和卸载应用程序。进一步在我们在那个时候的网页上也会被重新加载,因为我们只是点击一个按钮并且网页应该刷新。启动我们的方法后,页面刷新过程也会导致我们的应用程序重新加载。
- 1. 您可以修改web.config而不重新启动ASP.NET应用程序吗?
- 2. 修改App_GlobalResources文件强制应用程序重新启动
- 3. ASP.NET Web应用程序在删除目录时重新启动
- 4. 如何发现ASP.NET应用程序重新启动的原因
- 5. 如何加快ASP.NET应用程序的重新启动速度?
- 6. 修改Info.plist以启动应用程序
- 7. 在应用程序中更改语言 - 如何重新启动?
- 8. 应用程序何时重新启动?
- 9. 如何以编程方式修改ASP.NET MVC和C#应用程序中的web.config?
- 10. jenkins slave agent重启后如何重新启动应用程序
- 11. QT4:如何重新启动应用程序?重新设置?
- 12. [Android]应用程序重新启动设备后重新启动
- 13. 将重新启动应用程序重新启动前面
- 14. 如何重新启动设备后重新启动应用程序?
- 15. IIS 7.5应用的web.config重新启动整个应用程序池
- 16. DataGridView不会更新,除非应用程序重新启动
- 17. 如何防止Android从启动程序重新启动应用程序
- 18. 使用asp.net(IIS7)重新启动应用程序池
- 19. ScrollView不滚动,应用程序重新启动方向更改
- 20. 避免重新启动应用程序
- 21. Sideview重新启动Android应用程序
- 22. 重新启动iPhone应用程序
- 23. Netbeans - 应用程序重新启动
- 24. action_image_capture重新启动应用程序
- 25. iPhone应用程序重新启动?
- 26. Android - backbutton - 重新启动应用程序
- 27. 重新启动Java Swing应用程序
- 28. TTNavigator重新启动应用程序内
- 29. django/gunicorn应用程序重新启动
- 30. Android重新启动应用程序
不会让系统离线。我希望它重新启动/重新加载干净的缓存/会话等。当我删除app_offline.htm时,这会默认恢复它? – MikeJ 2009-01-02 19:47:46