Windows Server AppFabric 1.0のasp.net出力キャッシュプロバイダーは存在しますか?asp.net出力キャッシング用のWindows Server Appfabricプロバイダー
0
A
答えて
2
いいえ。ただし、出力キャッシュはASP.NET 4.0(プロバイダモデルを使用)でプラッガブルであるため、独自に記述することができます。
新しい出力キャッシュプロバイダを作成するには、System.Web.Caching.OutputCacheProvider
から継承する必要があります。System.Web
とSystem.Configuration
を参照する必要があります。
次に、基本プロバイダーの4つのメソッドAdd、Get、Remove、およびSetをオーバーライドする場合がほとんどです。
あなたのサイトがおそらくかなりヒットしているようで、DataCacheFactoryにはシングルトンを使用したいと思うでしょう。このコードではJon Skeet's singleton patternを使用しています。
using System;
using System.Web.Caching;
using Microsoft.ApplicationServer.Caching;
namespace AppFabricOutputCache
{
public sealed class AppFabricOutputCacheProvider : OutputCacheProvider
{
private static readonly AppFabricOutputCacheProvider instance = new AppFabricOutputCacheProvider();
private DataCacheFactory factory;
private DataCache cache;
static AppFabricOutputCacheProvider()
{ }
private AppFabricOutputCacheProvider()
{
// Constructor - new up the factory and get a reference to the cache based
// on a setting in web.config
factory = new DataCacheFactory();
cache = factory.GetCache(System.Web.Configuration.WebConfigurationManager.AppSettings["OutputCacheName"]);
}
public static AppFabricOutputCacheProvider Instance
{
get { return instance; }
}
public override object Add(string key, object entry, DateTime utcExpiry)
{
// Add an object into the cache.
// Slight disparity here in that we're passed an absolute expiry but AppFabric wants
// a TimeSpan. Subtract Now from the expiry we get passed to create the TimeSpan
cache.Add(key, entry, utcExpiry - DateTime.UtcNow);
}
public override object Get(string key)
{
return cache.Get(key);
}
public override void Remove(string key)
{
cache.Remove(key);
}
public override void Set(string key, object entry, DateTime utcExpiry)
{
// Set here means 'add it if it doesn't exist, update it if it does'
// We can do this by using the AppFabric Put method
cache.Put(key, entry, utcExpiry - DateTime.UtcNow);
}
}
}
あなたは、これが書かれましたら、あなたのweb.configファイルでそれを使用するようにアプリケーションを構成する必要があります。
<system.web>
<caching>
<outputCache defaultProvider="AppFabricOutputCache">
<providers>
<add name="AppFabricOutputCache" type="AppFabricOutputCache, AppFabricOutputCacheProvider" />
</providers>
</outputCache>
</caching>
</system.web>
MSDN: OutputCacheProvider
ScottGu's blog on creating OutputCacheProviders
関連する問題
- 1. Windows Server AppFabricキャッシングのWindows版要件
- 2. WindowsサーバーAppFabricキャッシング
- 3. AppFabric 1.1キャッシング(Windowsサービスのクラッシュ)
- 4. ASP.netページ出力キャッシング
- 5. 分散キャッシング用AppFabricデータベースとSQLデータベース
- 6. Windows用AppFabricのサポート
- 7. Windows Azure AppFabricキャッシングはハイアベイラビリティをサポートしていますか?
- 8. SQLCacheDependencyとAppFabric Server
- 9. AppFabricでのMVCビューの手動キャッシング
- 10. Twig出力キャッシング
- 11. asp.net mvc 3 RAM使用量とキャッシング出力(varybycustom)
- 12. NLBを使用したWindows Server AppFabric Webファーム
- 13. AppFabric Cache Serverのレプリケーション
- 14. Azure AppFabricキャッシングでClasses As Listコレクションを使用する方法
- 15. Windows AppFabric:ホストがSQL Serverバッキングストアで偽装できません
- 16. ASP.NET MVCでAzure AppFabricキャッシュを使用
- 17. Microsoft SQL Serverの解決方法エラー233.プロバイダー:SSLプロバイダー
- 18. ビルドサーバでのAppFabricキャッシング - アセンブリ参照を伴うジレンマ
- 19. 51degreesとIISのキャッシング、mvc3、出力
- 20. MVC 3での出力キャッシングと置換
- 21. Asp.net MVC 3キャッシング
- 22. asp.net mvc usercontrolキャッシング
- 23. Asp.netでキャッシング
- 24. Asp.netキャッシングの問題
- 25. サーバー2008 VPSプロバイダー
- 26. Azure Web/Workerロールの複数のインスタンスにWindows Server AppFabric Cacheをインストールする
- 27. AppFabric Cache - Get with
- 28. AppFabric CallBack
- 29. WebRequestキャッシングWindows Phone 7
- 30. F#の型プロバイダーSQL Serverの例