Что приводит к тому, что диск 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, FileAttributesData& fad) в System.Web.Caching.CacheDependency.Init(Boolean isPublic, String[] filenamesArg, String[] cachekeysArg, зависимость CacheDependency, DateTime utcStart) в System.Web.Caching.CacheDependency..ctor(String имя файла, запуск DateTime) в System.Web.Hosting.MapPathBasedVirtualPathProvider.CacheLookupOrInsert(String virtualPath, Boolean isFile ) в System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 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, Func2 virtualPathExists, IDisplayMode currentDisplayMode , логическое значение requireConsistentDisplayMode) в System.Web.Mvc.VirtualPathProvider ViewEngine.GetPathFromGeneralName (ControllerContext controllerContext, поиск List1 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(Func2, логическое значение trackSearchedPaths) в System.Web.Mvc.ViewEngineCollection.FindView (ControllerContext controllerContext, String viewName, String masterName) в System.Web.Mvc.ViewResult.FindView (контекст ControllerContext) в System. Web.Mvc.ViewResultBase.ExecuteResult (контекст ControllerContext) в System.Web.Mvc.Async.AsyncControllerActionInvoker.‹>c__DisplayClass21.b__1e(IAsyncResult asyncResult) в System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) в System. Web.Mvc.Controller.b__1d(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.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) в System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) в System.Web .Mvc.MvcHandler.b__5(IAsyncResult asyncResult, ProcessRequestState innerState) в System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndD elegate(IAsyncResult asyncResult) в System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() в System.Web.HttpApplication.ExecuteStep(шаг IExecutionStep) , логическое значение& завершено синхронно)


person Øyvind Skaar    schedule 06.06.2016    source источник
comment
Мой ответ на тему Как выглядит архитектура Azure Web Apps? может быть актуальным   -  person Michael B    schedule 06.06.2016


Ответы (1)


Это временное хранилище, поэтому его не следует использовать для хранения чего-либо, что должно быть всегда там. Возможно, MvcDonutCaching нужно учитывать временную недоступность диска D? Если это так, пожалуйста, свяжитесь с командой разработчиков, чтобы уточнить у них.

А пока вот несколько полезных статей:

Где мои данные с диска D:

Измените временный диск на виртуальной машине Azure и используйте D: для постоянных дисков данных

Надеюсь, это поможет!

person Shahed C - MSFT    schedule 06.06.2016