public override void RemoveValue()
        {
            IDisposable disposable = GetValue() as IDisposable;

            if (disposable != null)
            {
                disposable.Dispose();
            }
            UnityPerRequestHttpModule.SetValue(lifetimeKey, null);
        }
 /// <summary>
 /// Stores the given value into the backing store for retrieval later.
 /// </summary>
 /// <param name="newValue">The object being stored.</param>
 public override void SetValue(object newValue)
 {
     UnityPerRequestHttpModule.SetValue(this.lifetimeKey, newValue);
 }
 /// <summary>
 /// Retrieves a value from the backing store associated with this lifetime policy.
 /// </summary>
 /// <returns>The desired object, or null if no such object is currently stored.</returns>
 public override object GetValue()
 {
     return(UnityPerRequestHttpModule.GetValue(this.lifetimeKey));
 }