示例#1
0
        private void AddGlobalInboxAttributes(ref IOrderedEnumerable <RequestHandlerAttribute> preAttributes, RequestHandler <TRequest> implicitHandler)
        {
            if (
                _inboxConfiguration == null ||
                implicitHandler.FindHandlerMethod().HasNoInboxAttributesInPipeline() ||
                implicitHandler.FindHandlerMethod().HasExistingUseInboxAttributesInPipeline()
                )
            {
                return;
            }

            var useInboxAttribute = new UseInboxAttribute(
                step: 0,
                contextKey: _inboxConfiguration.Context(implicitHandler.GetType()),
                onceOnly: _inboxConfiguration.OnceOnly,
                timing: HandlerTiming.Before,
                onceOnlyAction: _inboxConfiguration.ActionOnExists);

            PushOntoAttributeList(ref preAttributes, useInboxAttribute);
        }