} // SetSessionStateItem /// <summary> /// Removes the specified environment variable from session state. /// </summary> /// /// <param name="name"> /// The name of the environment variable to remove from session state. /// </param> /// internal override void RemoveSessionStateItem(string name) { Dbg.Diagnostics.Assert( !String.IsNullOrEmpty(name), "The caller should verify this parameter"); Environment.SetEnvironmentVariable(name, null); } // RemoveSessionStateItem
} // GetSessionStateItem /// <summary> /// Sets the environment variable of the specified name to the specified value /// </summary> /// /// <param name="name"> /// The name of the environment variable to set. /// </param> /// /// <param name="value"> /// The new value for the environment variable. /// </param> /// /// <param name="writeItem"> /// If true, the item that was set should be written to WriteItemObject. /// </param> /// internal override void SetSessionStateItem(string name, object value, bool writeItem) { Dbg.Diagnostics.Assert( !String.IsNullOrEmpty(name), "The caller should verify this parameter"); if (value == null) { Environment.SetEnvironmentVariable(name, null); } else { // First see if we got a DictionaryEntry which represents // an item for this provider. If so, use the value from // the dictionary entry. if (value is DictionaryEntry) { value = ((DictionaryEntry)value).Value; } string stringValue = value as string; if (stringValue == null) { // try using ETS to convert to a string. PSObject wrappedObject = PSObject.AsPSObject(value); stringValue = wrappedObject.ToString(); } Environment.SetEnvironmentVariable(name, stringValue); DictionaryEntry item = new DictionaryEntry(name, stringValue); if (writeItem) { WriteItemObject(item, name, false); } } } // SetSessionStateItem