2013-08-29 8 views
7

asp.net(C#)の複数のサーバーでアプリケーションキャッシュをサポートしていますか?私はアプリケーション変数が複数のサーバー(Webファーム)でサポートされていないことを知っていますが、アプリケーションキャッシュはどうですか?私たちが複数のサーバーを使用しているときに、値にアクセスできなくなったり、アプリケーションキャッシュに値を格納する価値がないという問題がありますか? (データベースが適切でないと、負荷がかかります)。 Windows Server 2008を実行している場合は、ここで私は、コードそれはasp.net(C#)の複数のサーバーのアプリケーションキャッシュをサポートしていますか?

 HybridDictionary dicApplicationVariable = new HybridDictionary(); 
        if (HttpContext.Current.Cache["dicApplicationVariable"] != null) 
        { 
         dicApplicationVariable = (HybridDictionary)HttpContext.Current.Cache["dicApplicationVariable"]; 
         if (dicApplicationVariable.Contains(dtUserLogin.Rows[0]["Id"])) 
         { 
          dicApplicationVariable.Remove(dtUserLogin.Rows[0]["Id"]); 
          dicApplicationVariable.Add(dtUserLogin.Rows[0]["Id"], LogginSessionID); 
         } 
         else 
         { 
          dicApplicationVariable.Add(dtUserLogin.Rows[0]["Id"], LogginSessionID); 
         } 
        } 
        else 
        { 
         dicApplicationVariable.Add(dtUserLogin.Rows[0]["Id"], LogginSessionID); 
         HttpContext.Current.Cache["dicApplicationVariable"] = dicApplicationVariable; 
        } 

答えて

4

を使用しています以降、私はWindows Server AppFabric Cachingになります。

Windows Server AppFabricは、Webアプリケーションと中間層サービスの強化されたホスト、管理、およびキャッシュ機能を提供するためにWindows Serverを拡張します。 AppFabricホスティング機能は、インターネットインフォメーションサービス(IIS)、Windowsプロセスアクティベーションサービス(WAS)、および.NET Framework 4にサービス管理拡張を追加します。これにはホスティングサービスとホスティング管理ツールが含まれているため、展開、構成、 Windows Communication Foundation(WCF)およびWindows Workflow Foundation(WF)ベースのサービスです。 AppFabricのキャッシュ機能により、Windows Serverに分散メモリ内オブジェクトキャッシュが追加され、高性能な.NETアプリケーション、特にASP.NETアプリケーションを簡単にスケールアウトすることができます。 - これはOpen Source C# Client for Redis - ServiceStack経由で無料の第三者ではなく、ソリューション

  • Redisのある

  • 私はので、ここでのAppFabricにはいくつかの選択肢があり、誰もがMicrosoft製品を使用したいと思うでしょうことを実現します。興味深いのは.NET Application Caching: Redis vs. AppFabric Caching 1.1です。

    +2

    私は競合しています。私はこの回答をアップボールドしています。なぜなら、これは問題に答えるものですが、過去にAppFabricで酷い経験をしていて、それが本当に前進する製品ではないという気持ちがありました。おそらく私は間違っていますがどちらにせよ、代替案があることに注意してください。どんな分散キャッシュシステムもASP.Netのキャッシュに簡単に統合することができ、多くの企業はすでにASP.Netプロバイダを持っています。 @OP:あらゆる種類の分散キャッシュは、一般にダイレクトメモリアクセスよりも遅いことにも注意してください。 –

    +0

    @AlexPaven - 理解して、私はAppFabricが誰のためでもないことに気付きました。 :-) –

    +0

    可能であれば、何か変更の解決策を教えてください?私はこの共有キャッシュは3番目のパーティーのアプリケーション(私は必要ない)とのみ可能だと思う – Haris

    関連する問題