中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

ASP.NET站點自動重啟問題排查
來源:易賢網 閱讀:1648 次 日期:2015-04-29 14:25:10
溫馨提示:易賢網小編為您整理了“ASP.NET站點自動重啟問題排查”,方便廣大網友查閱!

項目中遇到的問題

排查原因

最近調試一個東西,寫了個監控頁面,發現自己Cache的數據在設定的過期時間遠遠還沒有到的時候就過期了,于是我著手排查了下出現問題的原因:

1、程序會刪除緩存 -- 查找了整個項目,發現程序里根本沒有刪除緩存的操作,所以這個原因可以排除。

2、寫緩存的方法有問題 -- 這個也可以排除,因為很多地方用這個dll,其它項目不存在這個bug,所以這個原因也可以排除。

3、服務器上有清除所有內存的程序 -- 于是一個個服務終止了下,最后發現終止了一個動轉靜服務后,程序就沒有異常了,所以這個問題是因為動轉靜服務引起的了。

解決方案

反編譯了這個動轉靜服務的源碼,發現并沒有清理內存的操作,于是想到了是不是因為動轉靜服務的什么操作,引起了應用程序池Appliacation_End,然后cache都被回收了。于是在Global.asax里面的Application_End方法里寫了下面的代碼,用于記錄是否引起了這個事件,以及引起事件觸發的原因。

protected void Application_End(object sender, EventArgs e)

{

HttpRuntime runtime = (HttpRuntime)typeof(System.Web.HttpRuntime).InvokeMember("_theRuntime",

BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.GetField,

null,

null,

null);

if (runtime == null)

return;

string shutDownMessage = (string)runtime.GetType().InvokeMember("_shutDownMessage",

BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField,

null,

runtime,

null);

string shutDownStack = (string)runtime.GetType().InvokeMember(

"_shutDownStack",

BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetField,

null,

runtime,

null);

if (!EventLog.SourceExists(".NETRuntime"))

{

EventLog.CreateEventSource(".NETRuntime", "Application");

}

EventLog log = new EventLog();

log.Source = ".NET Runtime";

log.WriteEntry(String.Format(" _shutDownMessage={0} _shutDownStack={1}", shutDownMessage, shutDownStack), EventLogEntryType.Error);

}

結果,日志文件里頭果然有記錄,記錄都為:

=====================================================

The description for Event ID ( 0 ) in Source ( .NET Runtime ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event:

_shutDownMessage=Recompilation limit of 15 reached

HostingEnvironment initiated shutdown

HostingEnvironment caused shutdown

_shutDownStack= at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)

at System.Environment.get_StackTrace()

at System.Web.Hosting.HostingEnvironment.InitiateShutdownInternal()

at System.Web.Hosting.HostingEnvironment.InitiateShutdown()

at System.Web.HttpRuntime.ShutdownAppDomain(String stackTrace)

at System.Web.Compilation.DiskBuildResultCache.ShutdownCallBack(Object state)

at System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object state)

at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)

at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state).

=====================================================

$news_page$

網上搜索了一下導致Asp.Net站點重啟的原因,具體可以參考:,其中第五條就這樣說

修改aspx,master文件不一定會導致重啟;但是每修改一次都會導致一次重新編譯,重新編譯次數達到15次之后會導致站點重啟,重啟原因是:

Recompilation limit of 15 reached HostingEnvironment initiated shutdown

于是我自己測試了下,停了動轉靜服務,在運行的項目里面,進行了如下操作

1、對1個Asp.net文件修改了20次以上,發現并沒有導致Asp.net站點重啟

2、對15個Asp.net文件進行修改,結果就出現了Asp.net站點重啟

3、對20個html文件進行修改,發現并沒有導致Asp.net站點重啟

于是我就納悶了,動轉靜導致的都是生成的html文件,并沒有修改動態文件,為什么會導致站點重啟呢,于是又谷歌了一番,終于又找到個有用的帖子《引起IIS下Asp.net應用程序重啟的原因》,這個是翻譯過來的文章,原文是:

里面的一條這樣說道,一個文件夾里同時有很多文件發生改變,.NET系統對這些變化通知來不及反應,這時候可能會重啟。比如在高PV時每次訪問都生成一次;

仔細想了下,導致我的站點重啟的原因最有可能是兩個

1、一個文件夾里同時有很多文件發生改變,.NET系統對這些變化通知來不及反應,這時候可能會重啟。

2、我Asp.net文件里面會include動轉靜生成的html文件,可能也被認為是Asp.net文件發生了變化,這個原因感覺是微乎其微,因為include動轉靜生成文件的asp.net文件不止15個,而且我把動轉靜的文件個數控制到15個以內的話,居然還是會出現重啟的情況,雖然頻率降低了。

補充(2013.01.18):今天我特地試了一下方法1,對項目下的任意一個文件進行多文件的覆蓋,連續執行n多次,結果發現站點果然重啟了。但是好像沒有明顯的規律,有時候執行兩三次就會重啟,有時候20多次照樣不重啟,所以不敢斷言就是文件更新造成的。

$news_page$

下面是微軟的幫助和支持里面的類似問題的原因和解決方案

微軟BUG之多個 ASP.NET 應用程序重新啟動出現每隔一至五分鐘

癥狀

很多新的.aspx、.ascx 或.asmx 文件傳播到服務器,服務器可能會報告完成后段時間的連續的應用程序重新啟動。此問題可能會顯示幾種不同方式:

為每次重新啟動,重新啟動 ASP.NETApplication 性能計數器就會增加。

如果使用內存中會話狀態,會話變量都將丟失。

應用程序狀態都將丟失。

反復執行Application_Start和Application_End事件。

原因

默認情況下當您更新少于 15 個文件在 ASP.NET 中,文件編譯和加載到內存中的已編譯文件的舊版本。這是.NET 公共語言運行時命名的并行執行的功能。

但是,舊版本的已編譯的代碼保持無限期地使用通過并行執行的內存中。當您更新多個文件 (例如,30 多個文件),如果不重新啟動應用程序以清除內存中的舊版本時,可能使用過多的內存。若要解決此問題,ASP.NET 有一項功能的應用程序將自動重新啟動特定數目的文件更新后。

應進行重新啟動,一次只能為已更新的文件的完整列表。重新應用程序啟動后,舊版本應不駐留在內存中。因此,應用程序應該不需要重新啟動以重新編譯文件的新版本。但是,加載到服務器 (例如,61 文件) 很多新的.aspx 或.ascx 文件時,將出現此問題。重新服務器卸載前 15 個文件時編譯應用程序和每次重新編譯另一個文件 15 個直到服務器達到 61。這將導致四個應用程序重新啟動,即使只需要其中的。

解決方案

若要避免自動重新啟動基于已更新的文件的數量,將numRecompilesBeforeAppRestart屬性設置 Machine.config 文件中默認值為 15 為數字的大于計劃內的應用程序重新啟動之間將更新的文件的數目。如果您將numRecompilesBeforeAppRestart設置為很多,您可能需要重新啟動應用程序手動釋放舊版本的程序集使用的內存。

注意: 如果 ASP.NET 消耗太多內存,ASP.NET 應用程序自動重新啟動。

如果要更新一定數目的文件,并且如果您想要應用程序自動重新啟動,設置numRecompilesBeforeAppRestart為一個數字,小于只是將更新的文件的數目。這將導致較少的內存中的舊程序集的單個應用程序重新啟動。例如,設置為numRecompilesBeforeAppRestart ,如下所示:

<compilation debug="false" explicit="true" numRecompilesBeforeAppRestart="50" defaultLanguage="vb">

更多信息請查看IT技術專欄

更多信息請查看網絡編程
易賢網手機網站地址:ASP.NET站點自動重啟問題排查
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产精品视频xxx| 欧美日韩亚洲一区二区三区在线观看| 久久久精品国产免大香伊| 国产精品一级| 久久国产88| 亚洲国产专区校园欧美| 欧美连裤袜在线视频| 亚洲一区二区三区久久 | 欧美极品在线观看| 亚洲一区在线免费| 国产自产在线视频一区 | 午夜精品久久久久影视| 精品不卡在线| 国产精品精品视频| 女人天堂亚洲aⅴ在线观看| 亚洲一区二区在线看| 韩日精品视频| 国产精品久久久久永久免费观看 | 久久精品av麻豆的观看方式| 亚洲国产色一区| 国产精品―色哟哟| 欧美风情在线观看| 欧美一区二区在线| 一本久道综合久久精品| 激情视频一区二区| 国产精品九九久久久久久久| 久久综合伊人| 久久精品国产99精品国产亚洲性色 | 香港久久久电影| 亚洲美女免费视频| 在线国产亚洲欧美| 国内精品久久久| 国产精品婷婷午夜在线观看| 欧美日韩国产黄| 欧美岛国激情| 男男成人高潮片免费网站| 久久久久网站| 久久福利一区| 久久精品视频在线| 欧美综合激情网| 欧美中文字幕在线视频| 午夜精品在线观看| 亚洲欧美日韩成人| 亚洲一区在线免费观看| 在线视频中文亚洲| 99在线热播精品免费| 亚洲精品一区二区三区樱花| 亚洲片在线观看| 日韩一级大片| 9l视频自拍蝌蚪9l视频成人| 亚洲美女区一区| 亚洲精选久久| av成人福利| 亚洲天堂网站在线观看视频| 一本色道久久综合亚洲精品按摩 | 亚洲私人黄色宅男| 一区二区三区免费在线观看| 日韩一区二区免费高清| 一区二区三区国产盗摄| 亚洲一区二区网站| 欧美中文日韩| 狼狼综合久久久久综合网| 欧美1区2区视频| 免费人成网站在线观看欧美高清| 六月婷婷一区| 欧美日韩黄色一区二区| 国产精品美女视频网站| 国产视频观看一区| 永久久久久久| 日韩视频免费在线观看| 亚洲在线播放电影| 久久精品青青大伊人av| 欧美大片在线看| 欧美三级日本三级少妇99| 国产女人精品视频| 在线成人激情| 一区二区欧美亚洲| 欧美在线视频一区二区三区| 女同性一区二区三区人了人一| 欧美日韩p片| 国产日产欧产精品推荐色| 黄色国产精品| 一二三区精品| 狼人社综合社区| 国产精品成人久久久久| 国产午夜一区二区三区| 亚洲黄色av一区| 欧美一区二区在线观看| 欧美第一黄色网| 国产美女精品在线| 最新国产乱人伦偷精品免费网站| 亚洲一区尤物| 欧美成人嫩草网站| 国产欧美一区二区白浆黑人| 亚洲精品之草原avav久久| 欧美一区视频在线| 欧美日韩国产色视频| 在线电影一区| 亚洲在线视频一区| 欧美激情一区二区三区| 国产视频精品va久久久久久| 亚洲另类春色国产| 欧美在线免费观看| 欧美性大战久久久久| 一区二区亚洲| 久久精品日产第一区二区三区| 欧美深夜福利| 亚洲欧洲精品一区二区精品久久久| 亚洲一区自拍| 欧美人在线观看| 亚洲第一在线综合在线| 久久精品日韩| 国产欧美不卡| 一区二区三区四区国产精品| 久久亚洲私人国产精品va| 国产麻豆日韩欧美久久| 亚洲伦理久久| 女同性一区二区三区人了人一| 国产精品三区www17con| 99日韩精品| 欧美精品成人91久久久久久久| 亚洲第一区中文99精品| 久久综合给合久久狠狠狠97色69| 国产欧美日韩视频| 欧美亚洲网站| 国产综合网站| 免费成人av在线看| 亚洲国产你懂的| 欧美精品一区视频| 亚洲精品影视| 欧美三级不卡| 午夜精品免费| 国产亚洲网站| 久久中文精品| 日韩小视频在线观看专区| 欧美日韩亚洲成人| 亚洲视频在线观看免费| 欧美午夜精品一区| 午夜亚洲精品| 国模套图日韩精品一区二区| 久久久综合香蕉尹人综合网| 影音先锋在线一区| 欧美激情在线狂野欧美精品| 日韩视频免费在线观看| 欧美午夜宅男影院| 性欧美8khd高清极品| 国产午夜精品在线观看| 久久先锋资源| 日韩亚洲欧美一区| 国产精品久久777777毛茸茸| 亚洲影院在线| 极品尤物一区二区三区| 欧美精品一区二区三区四区| 亚洲视频图片小说| 国产精品影片在线观看| 久久久久国产一区二区| 日韩一本二本av| 国产精品自拍在线| 久久亚洲综合网| 亚洲另类自拍| 国产精品日韩一区二区| 久久久久久97三级| 在线亚洲精品福利网址导航| 激情校园亚洲| 国产精品一级二级三级| 欧美jizz19hd性欧美| 亚洲综合日韩在线| 在线看片成人| 国产欧美日本| 欧美人与性动交cc0o| 久久狠狠婷婷| 中文在线资源观看网站视频免费不卡| 国产欧美日韩三区| 欧美日韩精品一二三区| 久久日韩精品| 亚洲欧美国产日韩中文字幕| 亚洲日韩欧美视频| 国产中文一区| 欧美视频在线观看视频极品| 久久久久久**毛片大全| 亚洲综合视频一区| 亚洲另类自拍| 在线免费观看日韩欧美| 国产精品自拍视频| 欧美日韩国产精品专区| 美女图片一区二区| 久久精精品视频| 欧美怡红院视频| 亚洲欧美日韩久久精品| 正在播放欧美一区| 99视频+国产日韩欧美| 在线电影国产精品| 国产亚洲成年网址在线观看| 欧美日韩三区四区| 欧美日韩国产成人高清视频| 欧美大片在线观看一区| 母乳一区在线观看| 欧美成人一区二区在线| 蜜臀a∨国产成人精品| 麻豆av一区二区三区|