当前位置: 首页>>代码示例>>C#>>正文


C# EventContext.GetValueByField方法代码示例

本文整理汇总了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));
                }
            }
        }
开发者ID:christrotter,项目名称:NCache,代码行数:40,代码来源:CacheBase.cs


注:本文中的EventContext.GetValueByField方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。