コード例 #1
0
        public static void EndState(this HttpRequestMessage request)
        {
            LowPriorityContainer removedState;

            if (!request.Properties.ContainsKey(ActionIdName))
            {
                return;
            }
            stateContainer.TryRemove(request.ActionId(), out removedState);
            removedState.StateReference.Clear();
        }
コード例 #2
0
        public static StateDictionary GetState(this HttpRequestMessage request)
        {
            var actionId = request.ActionId();

            if (string.IsNullOrWhiteSpace(actionId))
            {
                actionId = Guid.NewGuid().ToString();
                request.Headers.Add(ActionIdName, actionId);
            }
            if (!request.Properties.ContainsKey(ActionIdName))
            {
                request.Properties.Add(ActionIdName, actionId);
            }
            return(InitializeState(actionId));
        }