public static void EndState(this HttpRequestMessage request) { LowPriorityContainer removedState; if (!request.Properties.ContainsKey(ActionIdName)) { return; } stateContainer.TryRemove(request.ActionId(), out removedState); removedState.StateReference.Clear(); }
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)); }