appfabric キャッシュの通知を構成しています。最初の追加操作は、1 つの通知を送信しています。しかし、同じキャッシュ アイテムを新しい値に置き換える (更新) か、そのアイテムを削除すると、その 1 つの操作に対して複数の通知を受け取ります。私が行っている手術の種類とは何の関係もないと思います。複数の追加通知も見たからです。私が台無しにしている設定はありますか?? コードバック ファイルにデリゲートを記述しました。1回の操作でも一定時間継続してデリゲートを叩いています。
私の構成は次のとおりです。
<dataCacheClient requestTimeout="150000" channelOpenTimeout="19000" maxConnectionsToServer="10">
<localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
<clientNotification pollInterval="30" maxQueueLength="10000" />
<hosts>
<host name="192.10.14.20" cachePort="22233"/>
</hosts>
<securityProperties mode="None" protectionLevel="None" />
<transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456"
maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000"
receiveTimeout="600000"/>
</dataCacheClient>
そして、デリゲートを持つ私のコードは次のとおりです。
public void myCacheLvlDelegate(string myCacheName, string myRegion, string myKey, DataCacheItemVersion itemVersion, DataCacheOperations OperationId, DataCacheNotificationDescriptor nd)
{
//display some of the delegate parameters
StringBuilder ResponseOfCache = new StringBuilder("A cache-level notification was triggered!");
ResponseOfCache.Append(" ; Cache: " + myCacheName);
ResponseOfCache.Append(" ; Region: " + myRegion);
ResponseOfCache.Append(" ; Key: " + myKey);
ResponseOfCache.Append(" ; Operation: " + OperationId.ToString());
string value = ManualDataCacheOperations.GetCacheValue(myTestCache, txtKey.Text).ToString();
Legend.Append(string.Format("{0} - Operation {1} Performed at {2}{3}", myKey, OperationId.ToString(), DateTime.Now.ToShortTimeString(), Environment.NewLine));
}
教えてくださいどこに行方不明ですか?? 同じアイテムに対して複数の通知が送信されるのはなぜですか。役に立つ場合は、2 つのホストを持つクラスターを使用しています。また、セッション管理にも同じキャッシュを使用します。