本文整理汇总了C#中EventContext.GetValueByField方法的典型用法代码示例。如果您正苦于以下问题:C# EventContext.GetValueByField方法的具体用法?C# EventContext.GetValueByField怎么用?C# EventContext.GetValueByField使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EventContext
的用法示例。
在下文中一共展示了EventContext.GetValueByField方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: NotifyCustomRemoveCallback
/// <summary>
/// Notifies the listener that an item is removed which has an item removed callback.
/// </summary>
/// <param name="key">key of cache item</param>
/// <param name="value">Callback entry which contains the item remove call back.</param>
/// <param name="async">flag indicating that the nofitication is asynchronous</param>
public virtual void NotifyCustomRemoveCallback(object key, object value, ItemRemoveReason reason, bool async, OperationContext operationContext, EventContext eventContext)
{
if ((Listener != null))
{
if (!async)
Listener.OnCustomRemoveCallback(key, value, reason, operationContext, eventContext);
else
{
bool notify = true;
if (reason == ItemRemoveReason.Expired)
{
int notifyOnExpirationCount = 0;
if (eventContext!= null )
{
ArrayList removedListener = eventContext.GetValueByField(EventContextFieldName.ItemRemoveCallbackList) as ArrayList;
if (removedListener != null)
{
for (int i = 0; i < removedListener.Count; i++)
{
CallbackInfo removeCallbackInfo = (CallbackInfo)removedListener[i];
if (removeCallbackInfo != null && removeCallbackInfo.NotifyOnExpiration)
notifyOnExpirationCount++;
}
}
}
if (notifyOnExpirationCount <= 0) notify = false;
}
if (notify)
_context.AsyncProc.Enqueue(new AsyncLocalNotifyRemoveCallback(Listener, key, value, reason, operationContext, eventContext));
}
}
}