2013-01-05 12 views
6

Windows Azure Webサイトでキャッシュ機能を使用しようとしています。キャッシングは私のワーカーロールの1つに設定されています。私が始めるためにこの記事を使用しAzure Webサイト内でのキャッシュ処理に問題がある

http://www.windowsazure.com/en-us/develop/net/how-to-guides/cache/

を当初、私は不足しているため、組立誤差のAzureのキャッシュクライアントDLLの作業を取得するトラブルがありました。 http://www.thedailyparker.com/PermaLink,guid,0be6425e-b509-4122-af01-7086ce2f811e.aspx

しかし、私は構成の問題のように聞こえるSEHExceptionを取得しています次:私はこれを解決するために、この記事によって助けられてきたものの

Could not load file or assembly 'Microsoft.WindowsAzure.ServiceRuntime, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. 
Could not load file or assembly 'msshrtmi, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. 

。私は何が欠けているのか分かりませんが。 例外の詳細:

[SEHException (0x80004005): External component has thrown an exception.] 
    RdGetApplicationConfigurationSetting(UInt16* , UInt16**) +0 
    RoleEnvironmentGetConfigurationSettingValueW(UInt16* pszName, UInt16* pszDest, UInt32 cchDest, UInt32* pcchRequiredDestSize) +47 
    Microsoft.WindowsAzure.ServiceRuntime.Internal.InteropRoleManager.GetConfigurationSetting(String name, String& ret) +91 
    Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.GetConfigurationSettingValue(String configurationSettingName) +54 
    Microsoft.ApplicationServer.Caching.AzureCommon.TopologyHelper.TryGetServiceConfigurationSetting(String value, String& result) +40 
    Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsUtility.GetDiagnosticLevel(String propertyName) +47 
    Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsUtility.GetClientLogLevel() +20 
    Microsoft.ApplicationServer.Caching.AzureClientHelper.RoleUtility.ReadClientLogLevel() +5 
[TargetInvocationException: Exception has been thrown by the target of an invocation.] 
    System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0 
    System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +192 
    System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +108 
    Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.Initialize(String clientName) +205 
    Microsoft.Web.DistributedCache.DataCacheFactoryWrapper.CreateDataCacheFactoryConfiguration(String dataCacheClientName) +77 
    Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider.CreateInternalProvider(IHttpRuntime httpRuntime, OutputCacheInitializationData initData, IDataCacheFactory dataCacheFactory, EventHandler`1 cacheFetching, EventHandler`1 cacheFetched) +28 
    Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider.GetInternalProvider() +148 
    Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider.Get(String key) +11 
    System.Web.Caching.OutputCache.Get(String key) +56 
    System.Web.Caching.OutputCacheModule.OnEnter(Object source, EventArgs eventArgs) +9717054 
    System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69 

私は、誰かが正しい方向に私を助けることができると思います。

答えて

6

WebサイトからWindows Azureのキャッシュにアクセスすることはできません。 Webロールまたはワーカーロールからのみアクセスできます。

ウェブサイトにWindows Azure Shared Cachingを試しましたか?これはうまくいくはずです(Webサイトでこれを試したことはありません)。

+0

ありがとうSandrino、 私はWindows Azure Shared Cachingを使用しようとしました。しかし、私はOutputCacheAttributesを使用せず、DataCacheオブジェクトを直接使用しました。 –

+1

すべてのAzureサービス(Webサイト、Workerロール、Webロール、VMなど)からアクセス可能な新しい分散キャッシュサービスがあります。現在はプレビュー中です。 [this](http://weblogs.asp.net/scottgu/archive/2013/09/03/windows-azure-new-distributed-dedicated-high-performance-cache-service-more-cool-improvements.aspxを参照してください。 )によってScott Guthrie。 – seldary

関連する問題