Что приводит к недоступности диска d:\ в веб-приложении Azure?
Оказавшись в голубой луне, мы получаем исключение из нашего веб-приложения Azure при инициализации кэша.
Сообщение об ошибке гласит Failed to start monitoring changes to 'D:\home\site'
, Повторное развертывание решило проблему. Мы используем MvcDonutCaching, но я не знаю, насколько это актуально.
У кого-нибудь была подобная проблема, и, возможно, предложение, как мы можем решить эту проблему?
System.Web.HttpException (0x80070035): не удалось запустить мониторинг изменений в "D:\home\site". в System.Web.FileChangesMonitor.FindDirectoryMonitor(String dir, Boolean addIfNotFound, Boolean throwOnError) в System.Web.FileChangesMonitor.StartMonitoringPath(обратный вызов String, FileChangeEventHandler. String[] filenamesArg, String[] cachekeysArg, зависимость CacheDependency, DateTime utcStart) в System.Web.Caching.CacheDependency..ctor(имя файла String, начало DateTime) в System.Web.Hosting.MapPathBasedVirtualPathProvider.CacheLookleanFis () в System.Collections.Concurrent.ConcurrentDictionary
2.GetOrAdd(TKey key, Func
2 valueFactory) в System.Web.Mvc.BuildManagerViewEngine.FileExists(ControllerContext controllerContext, String virtualPath) в System.Web.WebPages.DefaultDisplayMode.GetDisplayInfo (HttpContextBase httpContext, String virtualPath, Func2 virtualPathExists) at System.Web.WebPages.DisplayModeProvider.GetDisplayInfoForVirtualPath(String virtualPath, HttpContextBase httpContext, Func
2 virtualPathExists, IDisplayMode currentDisplayMode, логическое значение requireConsistentDisplayMode) в System.Web.Mvc.VirtualPathProviderViewEngine.GetPathFromGeneralName(ControllerContext controllerContext, список списков1 locations, String name, String controllerName, String areaName, String cacheKey, String[]& searchedLocations) at System.Web.Mvc.VirtualPathProviderViewEngine.FindView(ControllerContext controllerContext, String viewName, String masterName, Boolean useCache) at System.Web.Mvc.ViewEngineCollection.<>c__DisplayClass6.<FindView>b__5(IViewEngine e) at System.Web.Mvc.ViewEngineCollection.Find(Func
2 lookup, Boolean trackSearchedPaths) в System.Web.Mvc.ViewEngineCollection.FindView(ControllerContext controllerContext, String viewName, String masterName) в System.Web.Mvc.ViewResult.FindView(контекст ControllerContext) в System.Web.Mvc.ViewResBult(Контекст ControllerContext) в System.Web.Mvc.Async.AsyncControllerActionInvoker.<> C__DisplayClass21.b__1e(IAsyncResult asyncResult) в System.Web.Mvc.Async.AsyncControllerActionInvyn.W.Sync. (IAsyncResult asyncResult, ExecuteCoreState innerState) в System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid
1.CallEndDelegate (IAsyncResult asyncResult) на System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) на System.Web.Mvc.MvcHandler.b__5(IAsyncResult asyncResult.WynSynWraWWRR).SyncWRR.Ru.SynSWRR_Ser_WR_Ser_WR_Ser_WeR_WR_S.WeC_RuS.WeC_RuT.WeS.Ru.Sec.SevSeR....RuS...W..Rec...... V. Re. `1.CallEndDelegate(IAsyncResult asyncResult) в System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) в System.Web.HttpApplication.CallHandlerExecutionStep.Secu.Tepp.Exte.Tepp.Exte.Tepp.Exte.Tepp.Exte.Tepp.Exte.HT (Шаг IExecutionStep, логический и завершен синхронно)
1 ответ
Это диск временного хранения, поэтому его не следует использовать для хранения чего-либо, что всегда должно быть там. Возможно, MvcDonutCaching необходимо учитывать временную недоступность диска D? Если это так, пожалуйста, свяжитесь с командой разработчиков, чтобы уточнить их.
А пока вот несколько полезных статей:
Где мои данные с диска D:
Измените временный диск в виртуальной машине Azure и используйте D: для постоянных дисков с данными
Надеюсь, это поможет!