public virtual TPayload GetOrAddPayload <TPayload>(PayloadFactory <TPayload> payloadFactory)
            where TPayload : class
        {
            var context = this as TPayload;

            if (context != null)
            {
                return(context);
            }

            return(_payloadCache.GetOrAddPayload(payloadFactory));
        }
Esempio n. 2
0
        public override TPayload GetOrAddPayload <TPayload>(PayloadFactory <TPayload> payloadFactory)
        {
            TPayload payload;

            if (_payloadCache.TryGetPayload(out payload))
            {
                return(payload);
            }

            if (base.TryGetPayload(out payload))
            {
                return(payload);
            }

            return(_payloadCache.GetOrAddPayload(payloadFactory));
        }
Esempio n. 3
0
 public virtual TPayload GetOrAddPayload <TPayload>(PayloadFactory <TPayload> payloadFactory)
     where TPayload : class
 {
     return(_payloadCache.GetOrAddPayload(payloadFactory));
 }