11

サーバーに AppFabric をインストールしました。単一のコンピューターのクラスターを作成しました。「Gagan」という名前のキャッシュも作成しました。次のコマンドを順番に使用しました

Use-CacheCluster -Provider xml -ConnectionString \NB-GJANJUA\Cache Start-CacheCluster

その結果、キャッシュ サービスが稼働中であり、これまでのところ良好です。

次に、以下のように web.config ファイルをセットアップします

<?xml version="1.0"?>
<configuration>
    <configSections>
    <section name="dataCacheClient"
type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
        Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, 
        Culture=neutral, PublicKeyToken=31bf3856ad364e35"
allowLocation="true"
allowDefinition="Everywhere"/>   

</configSections>

<!-- cache client -->
<dataCacheClient>
<!-- cache host(s) -->

<hosts>
  <host
     name="NB-GJANJUA.com"
     cachePort="22233"/>
</hosts>
</dataCacheClient>

<system.web>    

<compilation debug="true" targetFramework="4.0" >
    <assemblies>
      <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="Microsoft.ApplicationServer.Caching.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add assembly="Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </assemblies>
</compilation>

<sessionState mode="Custom" customProvider="SessionStore" cookieless="true">
  <providers>
    <add name="SessionStore" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="Gagan" />
  </providers>
</sessionState>
</system.web>

<system.webServer>
 <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>

しかし、サイトを起動するとすぐに、このエラーが発生します

パーサー エラー メッセージ: ErrorCode:SubStatus:There is a temporary failure. 後で再試行してください。(指定された 1 つ以上のキャッシュ サーバーが使用できません。これは、ネットワークまたはサーバーのビジー状態が原因である可能性があります。クラスター上のこのクライアント アカウントにセキュリティ アクセス許可が付与されていること、および AppFabric キャッシュ サービスがすべてのキャッシュ ホストのファイアウォールを介して許可されていることを確認してください。後で再試行してください。)

ソース エラー:

Line 44:     <sessionState mode="Custom" customProvider="SessionStore" cookieless="true">
Line 45:       <providers>
Line 46:         <add name="SessionStore" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="Gagan" />
Line 47:       </providers>
Line 48:     </sessionState>

私が欠けているものはありますか?

注: Microsoft.ApplicationServer.Caching.Client および Microsoft.APplicationServer.Caching.Core アセンブリは既に参照しています。

あなたの時間と忍耐に感謝します

よろしく ガガン・ジャンジュア

4

7 に答える 7

10

私もこのエラーを抱えていました。開発中のクライアントをテストするためだけに、AppFabric Power Shell コマンドを使用してセキュリティをオフにしました

   Stop-CacheCluster
   Set-CacheClusterSecurity -SecurityMode None -ProtectionLevel None
   Start-CacheCluster

また、web.config のクライアント アプリケーションで次のように設定します。

   <dataCacheClient>
     <securityProperties mode="None" protectionLevel="None"/>
   </dataCacheClient>

これは本番シナリオではありませんが、これらの設定が適用されると上記のエラーは消えます。

于 2012-12-01T10:18:59.263 に答える
5

同様の問題があり、Windows Server 2008 R2 で IIS 7.5 を実行していました。PowerShell で次のコマンドを発行して解決しました ([スタート]、[すべてのプログラム] の Windows AppFabric フォルダーから開始)。

New-Cache -CacheName NameOfCacheAsSetInWebConfig -TimeToLive 30  
Grant-CacheAllowedClientAccount "IIS AppPool\NameOfAppPoolRunningSite"

私がそれをしたら、私はすべて準備ができていました。

于 2011-08-22T18:16:50.753 に答える
4

Webサイトを実行しているユーザーにキャッシュへのアクセスを許可しましたか?

Grant-CacheAllowedClientAccount Gagan

于 2010-10-12T00:49:28.637 に答える
3

この問題を次のように解決しました。

Windows タスク マネージャーを起動し、w3wp.exe が実行されているユーザー名を確認します。

私の場合は、ASP.NET v4.0 でした。

[スタート] -> [すべてのプログラム] -> [Windows Server App Fabric] -> [IIS マネージャー] を起動

IIS で、[マシン名] を選択し、左上にある [アプリケーション プール] を選択します。

アプリケーション プールで..ASP.net v4.0 がアプリケーション プールの下に存在することを確認します。

[スタート] -> [すべてのプログラム] -> [Windows Server App Fabric] -> [キャッシュ管理] Windows Power Shell を起動しました

プロンプトで次のコマンドを入力します: Grant-CacheAllowedClientAccount "ASP.NET v4.0"

Web アプリケーションを再起動すると、次のエラーがなくなりました。

ErrorCode<ERRCA0017>:SubStatus<ES0006>:There is a temporary failure. Please retry later. (One or more specified Cache servers are unavailable, which could be caused by busy network or servers. Ensure that security permission has been granted for this client account on the cluster and that the AppFabric Caching Service is allowed through the firewall on all cache hosts. Retry later.)
于 2012-11-08T20:05:38.337 に答える
1

設定で次のコメントをコメントアウトすると、修正されました。

<sessionState customProvider="AppFabricCacheSessionStoreProvider" mode="Custom" timeout="90">
  <providers>
    <add name="AppFabricCacheSessionStoreProvider" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="Session" sharedId="SharedApp" />
  </providers>
</sessionState>
于 2013-01-09T16:37:54.983 に答える
1

この問題が発生しましたが、再起動後にキャッシュ クラスターがダウンしただけでした。サービスで自動的に開始するには、サービスを手動で切り替える必要があることに気づきませんでした。その詳細については、こちらをご覧ください。

于 2012-01-05T13:53:48.677 に答える
0

デフォルトでは、ワーカー プロセスは iis ユーザーとしてセットアップされます。これらのユーザーはアクセスする必要があります。Caching Administration Windows Powershellで、次のように入力します。

Grant-CacheAllowedClientAccount IIS_IUSRS

于 2014-04-03T16:37:38.703 に答える