internal void RestoreContext() { if (Thread.CurrentThread != _creatorThread) { Thread.CurrentPrincipal = _principal; foreach (KeyValuePair <string, object> pair in _contexts) { LogicalThreadContext.SetData(pair.Key, pair.Value); } } }
public void StorageIsUsedByFacadeMethods() { MockStorage storage = new MockStorage(); LogicalThreadContext.SetStorage(storage); object value = new object(); LogicalThreadContext.SetData("key", value); Assert.AreSame(value, storage.data["key"]); object data = LogicalThreadContext.GetData("key"); Assert.AreSame(value, data); LogicalThreadContext.FreeNamedDataSlot("key"); Assert.IsFalse(storage.data.ContainsKey("key")); }