Web 角色 - 实现角色内缓存导致应用程序崩溃(本地 + 生产)

本文关键字:角色 崩溃 本地 生产 应用程序 实现 缓存 Web | 更新日期: 2023-09-27 18:32:28

我正在处理一个网站项目(转换为Web Role(以使用In-Role Windows Azure Caching。一切都完美无缺,但是当我启用缓存时,应用程序崩溃,在IIS日志或事件查看器中显然没有有用的消息。我得到的只是——

事件代码:3005事件消息:发生未经处理的异常。活动时间:21/09/2013 23:59:39事件时间 (UTC(: 21/09/2013 22:59:39事件 ID:440c14c6c5f848b683cf33b2a553b42c事件顺序:3事件发生次数:1事件详细代码:0

异常信息: 异常类型:套接字异常 异常消息:不知道此类主机 at Microsoft.ApplicationServer.Caching.AsyncResultNoResult.EndInvoke(( at Microsoft.ApplicationServer.Caching.AsyncResult'1.EndInvoke(( at Microsoft.ApplicationServer.Caching.SocketConnectionFactory.EndConnect(IAsyncResult asyncResult( at Microsoft.ApplicationServer.Caching.TcpClientChannelFactory.TcpConnectionCallback(IAsyncResult result(

我已经有了Windows Azure SDK 2.1

和Windows Azure Caching 2.1版本。我尝试了这里建议的解决方案,但无济于事 -

http://blogs.msdn.com/b/cie/archive/2013/08/08/windows-azure-caching-2-1-0-0-no-such-host-is-known.aspx

我有 2 个 Web 角色实例,在服务配置中具有以下设置-

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="4" />
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.NamedCaches" value="{&quot;caches&quot;:[{&quot;name&quot;:&quot;default&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:10,&quot;isExpirable&quot;:true,&quot;type&quot;:1},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0}]}" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="4" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />

以及 Web 角色的 web.config 中的以下条目

<sessionState mode="Custom" customProvider="defaultProvider" cookieless="UseCookies">
<providers>
<add cacheName="default" name="defaultProvider" dataCacheClientName="default" applicationName="TravelEagle" type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" />
</providers>
</sessionState>
<dataCacheClients>
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="TravelEagle" />
</dataCacheClient>    
</dataCacheClients>
<cacheDiagnostics>
<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
</cacheDiagnostics>

如果我尝试使用 Azure 模拟器运行应用程序,则会收到另一个错误:

为应用程序池"5e45b35f-ccd3-485e-8f12-b70178ffd1a3"提供服务的进程意外终止。进程 ID 为"11096"。进程退出代码为"0xfffffffe"。

{0}刷新查找表失败,异常:{Microsoft.Fabric.Common.OperationComplete异常:操作已完成,但出现异常---> Microsoft.Fabric.Federation.Routing异常:目标节点显式中止了操作 ---内部异常堆栈跟踪结束--- at Microsoft.Fabric.Common.OperationContext.End(( at Microsoft.Fabric.Federation.FederationSite.EndRoutedSendReceive(IAsyncResult ar( at Microsoft.Fabric.Data.ReliableServiceManager.EndRefreshLookupTable(IAsyncResult ar(}

任何帮助将不胜感激。

Web 角色 - 实现角色内缓存导致应用程序崩溃(本地 + 生产)

我必须提供存储帐户连接字符串,而不是使用开发存储。