asp.net中app_offline.htm、停止IIS站点和停止应用程序池对当前在线运行的应用程序会有什么影响?
- 内容介绍
- 文章标签
- 相关推荐
本文共计413个文字,预计阅读时间需要2分钟。
如果我在网站根目录中放置app_offline.,并停止IIS 7.5站点、停止IIS 7.5应用程序池以及停止当前运行的线程(包括后台线程),那么以下情况会发生:
- 网站将显示app_offline.页面,表示网站处于维护状态。- IIS 7.5站点将不再响应请求。- IIS 7.5应用程序池将不再运行任何应用程序。- 当前运行的线程(包括后台线程)将停止执行。
这些操作是立即执行的,网站和应用程序池将立即停止运行。
如果我:>在网站根目录中放置app_offline.html
>停止IIS 7.5站点
>停止IIS 7.5应用程序池
当前运行的线程(在所有三种情况下)包括后台线程会发生什么?它们是否都立即终止,或者正在运行?
谢谢
安德鲁
通过添加app_offline.htm,应用程序发送Application_End,并在此函数返回后,程序的其余线程被终止.在池设置上设置等待Application_End返回的最长时间.如果停止完整池,则此池下的所有站点都遵循相同的过程.如果您只打开app_offline.htm,则只会影响此站点.
要避免线程被此关闭杀死,请在Application_End上设置等待状态
void Application_End(object sender, EventArgs e) { // This is a custom function that you must make and // check your threads in the program MyTheadClass.WaitForAllMyThreadsToExist(); // after this function exit the rest of the threads are killed. }
再说一遍.
一直等待Application_End让你的线程退出等待状态(可能是互斥锁),该网站不再接受网络连接,似乎没有响应.因此,当您收到此消息时,由您决定是否尽快退出线程.
本文共计413个文字,预计阅读时间需要2分钟。
如果我在网站根目录中放置app_offline.,并停止IIS 7.5站点、停止IIS 7.5应用程序池以及停止当前运行的线程(包括后台线程),那么以下情况会发生:
- 网站将显示app_offline.页面,表示网站处于维护状态。- IIS 7.5站点将不再响应请求。- IIS 7.5应用程序池将不再运行任何应用程序。- 当前运行的线程(包括后台线程)将停止执行。
这些操作是立即执行的,网站和应用程序池将立即停止运行。
如果我:>在网站根目录中放置app_offline.html
>停止IIS 7.5站点
>停止IIS 7.5应用程序池
当前运行的线程(在所有三种情况下)包括后台线程会发生什么?它们是否都立即终止,或者正在运行?
谢谢
安德鲁
通过添加app_offline.htm,应用程序发送Application_End,并在此函数返回后,程序的其余线程被终止.在池设置上设置等待Application_End返回的最长时间.如果停止完整池,则此池下的所有站点都遵循相同的过程.如果您只打开app_offline.htm,则只会影响此站点.
要避免线程被此关闭杀死,请在Application_End上设置等待状态
void Application_End(object sender, EventArgs e) { // This is a custom function that you must make and // check your threads in the program MyTheadClass.WaitForAllMyThreadsToExist(); // after this function exit the rest of the threads are killed. }
再说一遍.
一直等待Application_End让你的线程退出等待状态(可能是互斥锁),该网站不再接受网络连接,似乎没有响应.因此,当您收到此消息时,由您决定是否尽快退出线程.

