0

私のアプリは Azure Web サイト( Web ロールではありません。Webロール固有の回答を除外してください !) で正常に動作していますが、ログに次のエラーが表示されることがあります。

System.UnauthorizedAccessException: Access to the path 'C:\DWASFiles\Sites\myAzureWebSiteNameHere\VirtualDirectory0\site\wwwroot' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.Directory.EnumerateFiles(String path)
   at System.Web.WebPages.Deployment.WebPagesDeployment.AppRootContainsWebPagesFile(String path)
   at System.Web.WebPages.Deployment.PreApplicationStartCode.OnChanged(String key, Object value, CacheItemRemovedReason reason)
   at System.Web.Caching.CacheEntry.CallCacheItemRemovedCallback(CacheItemRemovedCallback callback, CacheItemRemovedReason reason)

これは、サイトが再起動される直前に発生しました (おそらく、サイトを含む VM のメンテナンス操作のために、私ではなく Azure によって)。そのため、システムがキャッシュをクリアしようとしたときに、「シャットダウン」操作中に発生したと結論付けました。

私はこのようにAsp.netキャッシュを使用しています:HttpContext.Current.Cache[myKey] = somethingそして、のような特定のコールバックを定義していませんCacheItemRemovedCallback。上記のコールスタックは、エラーがシステム コールバックにあることを確認します。

これは、オンプレミス サーバー上の同じ Web サイトでこの種のエラーが発生したことがないため、Azure 固有 (およびおそらく Azure Web サイト固有) のようです。

このエラーの発生を防ぐ方法を知っていますか? ありがとう !

4

0 に答える 0