Azure Websites AppDomain wiele restartów
Mam grupę stron internetowych asp.net 4.0, w których się uruchamiaWitryny internetowe Azure
Tryb obliczeniowy: StandardowyLokalizacja: Europa PółnocnaAutoskalowanie pojemności: WyłączoneRozmiar wystąpienia:DużyLiczba wystąpień: 1Czas reakcji jest bardzo wolny, ruch jest normalny, ale mój dziennik pokazuje wieleWyłączenia aplikacji AppDomain (więcej niż 3 w ciągu jednej minuty). Moje witryny ładują dane w pamięci podręcznej podczas de Application_Start, aby szybko zareagować na wszystkie żądania podciągów, ale jeśli domeny aplikacji są uruchamiane za każdym razem, niemożliwe jest podanie akceptowalnych czasów odpowiedzi.
TheShutdownReason wiele wartości:
KonfiguracjaZmieńHosting ŚrodowiskoCodeDirChangeOrDirectoryRenameBinDirChangeOrDirectoryRenameBrowsersDirChangeOrDirectoryRenameNie ma to sensu, ponieważ nie zmieniłem żadnego pliku w tych folderach.
Przetestowałem jedną z tych witryn w trybie wolnym działającym bardzo szybko i bez niespodziewanego ponownego uruchomienia aplikacji AppDomain.
Dzięki.
Aktualizacja:
Włączyłem ten kod do aplikacji Application_Start, nie wykryto żadnych zmian w pliku i aplikacja AppDomain jest ponownie uruchamiana ponownie i ponownie ...
var monitorPath = HostingEnvironment.MapPath("~/");
Application.Add("watcher", new FileSystemWatcher(monitorPath));
fsw = (FileSystemWatcher) Application["watcher"];
fsw.EnableRaisingEvents = true;
fsw.IncludeSubdirectories = true;
fsw.Changed += fsw_Changed;
fsw.Created += fsw_Created;
fsw.Deleted += fsw_Deleted;
fsw.Renamed += fsw_Renamed;
Aktualizacja 07/15/2013:
używając kodu z artykułu ScottGuhttp://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx
Zalogowałem to:
_shutDownMessage=Directory rename change notification for 'C:\DWASFiles\Sites\my-sitename\VirtualDirectory0\site\wwwroot'.
File Change Notification Error in wwwroot
HostingEnvironment initiated shutdown
Change Notification for critical directories.
File Change Notification Error in App_GlobalResources
Change Notification for critical directories.
File Change Notification Error in bin
Change Notification for critical directories.
File Change Notification Error in App_Browsers
Change Notification for critical directories.
File Change Notification Error in App_Code
Change Notification for critical directories.
File Change Notification Error in App_WebReferences
CONFIG change
CONFIG change
CONFIG change
CONFIG change
CONFIG change
CONFIG change
CONFIG change
CONFIG change
CONFIG change
CONFIG change
File Change Notification Error in C:\DWASFiles\Sites\my-sitename\VirtualDirectory0\site\wwwroot
CONFIG change
File Change Notification Error in
HostingEnvironment caused shutdown
File Change Notification Error in
Change Notification for critical directories.
File Change Notification Error in App_LocalResources
Change Notification for critical directories.
File Change Notification Error in App_LocalResources
CONFIG change
_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.InitiateShutdownWithoutDemand()
at System.Web.HttpRuntime.ShutdownAppDomain(String stackTrace)
at System.Web.HttpRuntime.OnCriticalDirectoryChange(Object sender, FileChangeEvent e)
at System.Web.FileChangesMonitor.OnSubdirChange(Object sender, FileChangeEvent e)
at System.Web.DirectoryMonitor.FireNotifications()
at System.Web.Util.WorkItem.CallCallbackWithAssert(WorkItemCallback callback)
at System.Web.Util.WorkItem.OnQueueUserWorkItemCompletion(Object state)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Aktualizacja 19.07.2013:
MetrykaData-In jest bardzo wysoki i nie ma żadnego związku z metryką żądań, ale kiedy skonfiguruję ustawienie fcnMode = ”Disabled”, dane wejściowe natychmiast docierają do normalnych wartości zgodnie z ruchem.