Я начал постоянно получать ошибку кэша Azure. Похоже, это связано с просроченными сеансами. Это случайная выборка - это случается со статическими файлами.
Event code: 3005 Event message: An unhandled exception has occurred. Event time: 10/25/2012 9:49:15 AM Event time (UTC): 10/25/2012 9:49:15 AM Event ID: 004e617f16854e59b7a857ca542ae9fc Event sequence: 86004 Event occurrence: 720 Event detail code: 0 Application information: Application domain: /LM/W3SVC/1273337584/ROOT-1-129955415508042441 Trust level: Full Application Virtual Path: / Application Path: E:\sitesroot\0\ Machine name: RD00155D36A377 Process information: Process ID: 3332 Process name: w3wp.exe Account name: NT AUTHORITY\NETWORK SERVICE Exception information: Exception type: DataCacheException Exception message: ErrorCode:SubStatus:Key referred to does not exist. Create objects based on a Key to fix the error. at Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ResponseBody respBody) at Microsoft.ApplicationServer.Caching.DataCache.ExecuteAPI(RequestBody reqMsg, IMonitoringListener listener) at Microsoft.ApplicationServer.Caching.DataCache.InternalResetObjectTimeout(String key, TimeSpan newTimeout, String region, IMonitoringListener listener) at Microsoft.ApplicationServer.Caching.DataCache.c__DisplayClass68.b__67() at Microsoft.ApplicationServer.Caching.DataCache.ResetObjectTimeout(String key, TimeSpan newTimeout) at Microsoft.Web.DistributedCache.DataCacheRetryWrapper.PerformCacheOperation(Action action) at Microsoft.Web.DistributedCache.DataCacheForwarderBase.ResetObjectTimeout(String key, TimeSpan newTimeout) at System.Web.SessionState.SessionStateModule.BeginAcquireState(Object source, EventArgs e, AsyncCallback cb, Object extraData) at System.Web.HttpApplication.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) Request information: Request URL: http://www.beko.co.uk/Scripts/jquery.nivo.slider.pack.js Request path: /Scripts/jquery.nivo.slider.pack.js User host address: 80.2.72.81 User: Is authenticated: False Authentication Type: Thread account name: NT AUTHORITY\NETWORK SERVICE Thread information: Thread ID: 11 Thread account name: NT AUTHORITY\NETWORK SERVICE Is impersonating: False Stack trace: at Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ResponseBody respBody) at Microsoft.ApplicationServer.Caching.DataCache.ExecuteAPI(RequestBody reqMsg, IMonitoringListener listener) at Microsoft.ApplicationServer.Caching.DataCache.InternalResetObjectTimeout(String key, TimeSpan newTimeout, String region, IMonitoringListener listener) at Microsoft.ApplicationServer.Caching.DataCache.c__DisplayClass68.b__67() at Microsoft.ApplicationServer.Caching.DataCache.ResetObjectTimeout(String key, TimeSpan newTimeout) at Microsoft.Web.DistributedCache.DataCacheRetryWrapper.PerformCacheOperation(Action action) at Microsoft.Web.DistributedCache.DataCacheForwarderBase.ResetObjectTimeout(String key, TimeSpan newTimeout) at System.Web.SessionState.SessionStateModule.BeginAcquireState(Object source, EventArgs e, AsyncCallback cb, Object extraData) at System.Web.HttpApplication.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Кода вокруг этого нет, он настраивается в web.config
<dataCacheClients>
<dataCacheClient name="default">
<hosts>
<host name="[mycachename]" cachePort="22233" />
</hosts>
<securityProperties mode="Message">
<messageSecurity authorizationInfo="[mykey]"></messageSecurity>
</securityProperties>
</dataCacheClient>
<dataCacheClient name="SslEndpoint">
<hosts>
<host name="[mycachename]" cachePort="22243" />
</hosts>
<securityProperties mode="Message" sslEnabled="true">
<messageSecurity authorizationInfo="[mykey]"></messageSecurity>
</securityProperties>
</dataCacheClient>
</dataCacheClients>
Изменить: состояние сеанса настраивается следующим образом:
<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider">
<providers>
<add name="AppFabricCacheSessionStoreProvider" type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" cacheName="default" useBlobMode="true" dataCacheClientName="default" />
</providers>
</sessionState>
Я пытаюсь понять, есть ли а) Все, что я могу сделать, чтобы исправить это в конфигурации б) Какие DLL задействованы и какая последняя версия (чтобы я мог видеть, помогает ли обновление) в) Если кто-то еще видит это.
Это началось после того, как я сделал довольно много обновлений приложений, а также обновил размер кеша в Azure. Не уверен, поэтому, в чем была причина. Я бы не подумал, что за это ответственны изменения кода, но, возможно, мы обновили некоторую DLL, поскольку один из компьютеров, которые мы использовали в процессах разработки, был недавно построен.
/Scripts/jquery.nivo.slider.pack.js
добавляется в кеш данных? У вас есть несколько экземпляров или только один экземпляр роли? - person SliverNinja - MSFT   schedule 25.10.2012