Windows Azureでホストされている一連のWCF Webサービスがあり、appfabricキャッシングを実装しようとしています。Azure Appfabric Caching + WCF Webservices
私は、Webサービスのステートレスな性質と、datacachefactoryオブジェクトとdatacacheオブジェクトの高価な初期化を避ける必要性に苦しんでいます。
これは、開始するには良い場所であるように見えたとして、私はシングルトンで私datacachefactoryをラップしている.....
Imports Microsoft.ApplicationServer.Caching
Public Class Cache
Private Shared _DataCacheFactory As DataCacheFactory
Private Shared _DataCache As Microsoft.ApplicationServer.Caching.DataCache
Private Sub New()
End Sub
Shared ReadOnly Property DataCacheFactory As DataCacheFactory
Get
If IsNothing(_DataCacheFactory) Then
Dim localTimeout As New TimeSpan(0, 10, 0)
Dim localCacheConfig As New DataCacheLocalCacheProperties(10000, localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased)
Dim factoryConfig As New DataCacheFactoryConfiguration()
factoryConfig.LocalCacheProperties = localCacheConfig
_DataCacheFactory = New DataCacheFactory(factoryConfig)
End If
Return _DataCacheFactory
End Get
End Property
Shared ReadOnly Property DataCache As Microsoft.ApplicationServer.Caching.DataCache
Get
If IsNothing(_DataCache) Then
_DataCache = DataCacheFactory.GetDefaultCache
End If
Return _DataCache
End Get
End Property
End Class
しかし、私はそれを使用しようとすると、それはスコープの外に行くことのようですazureインスタンスごとに1回ではなく繰り返して再作成されています。私が物事を正しく理解していれば、これは基本的に次のようになります..... wcf Webサービスにグローバル変数をどこに格納して、スコープから外れないようにするか。
なぜdownvoteですか?これは妥当な質問のようです。 –
WCFインスタンスはどのようにホストされていますか? Webロールを持つIISまたはワーカーロールで自己ホストされるIIS? –
IIS Webロールでホストされます。 –