public override void CreateUninitializedItem(System.Web.HttpContext context, string id, int timeout)
        {
            UserSession userSession = new UserSession();
            userSession.SessionID = id;
            userSession.ApplicationName = ApplicationName;
            userSession.Created = DateTime.Now.ToUniversalTime();
            userSession.Expires = DateTime.Now.AddMinutes((Double)timeout).ToUniversalTime();
            userSession.LockDate = DateTime.Now.ToUniversalTime();
            userSession.LockId = 0;
            userSession.Timeout = timeout;
            userSession.Locked = false;
            userSession.Flags = 1;

            var collection = new StateItemCollection(ApplicationName, ConnectionString);
            userSession.ChildIdentifier = collection.SessionOwner;

            var result = CurrentCollection.Insert<UserSession>(userSession);
            if(result != null)
                if (!result.Ok)
                    throw new Exception("");
        }
 private SessionStateStoreData CreateNewStoreData(System.Web.HttpContext context, int timeout, string identifer)
 {
     var collection = new StateItemCollection(ApplicationName, ConnectionString);
     collection.SessionOwner = identifer;
     return new SessionStateStoreData(collection,
             SessionStateUtility.GetSessionStaticObjects(context),
             timeout);
 }