Amazon.MobileAnalytics.MobileAnalyticsManager.Internal.Session.Start C# (CSharp) Метод

Start() публичный Метод

Start this session.
public Start ( ) : void
Результат void
        public void Start()
        {
            lock (_lock)
            {
                // Read session info from persistent storage, in case app is killed.
                RetrieveSessionStorage();

                // If session storage is valid, restore session and resume session.
                if (_sessionStorage != null && !string.IsNullOrEmpty(_sessionStorage._sessionId))
                {
                    this.StartTime = _sessionStorage._startTime;
                    this.StopTime = _sessionStorage._stopTime;
                    this.SessionId = _sessionStorage._sessionId;
                    this.Duration = _sessionStorage._duration;

                    Resume();
                }
                // Otherwise, create a new session.
                else
                {
                    NewSessionHelper();
                }
            }
        }

Usage Example

Пример #1
0
        public void TestSessionTimeout()
        {
            MobileAnalyticsManagerConfig maConfig = new MobileAnalyticsManagerConfig();

            Console.WriteLine("session delta is " + maConfig.SessionTimeout);

            string appID = Guid.NewGuid().ToString();

            // create AmazonMobileAnayticsManager instance
            MobileAnalyticsManager.GetOrCreateInstance(appID, Credentials, RegionEndpoint.USEast1, maConfig);
            Amazon.MobileAnalytics.MobileAnalyticsManager.Internal.Session session = new Amazon.MobileAnalytics.MobileAnalyticsManager.Internal.Session(appID, new MobileAnalyticsManagerConfig());
            session.Start();
            DateTime startTime1 = session.StartTime;
            string   sessionId1 = session.SessionId;

            // sleep for a while but wake up before session expires
            session.Pause();
            Thread.Sleep(Convert.ToInt32((maConfig.SessionTimeout - 1) * 1000));
            session.Resume();

            // make sure session is not expired
            DateTime startTime2 = session.StartTime;
            string   sessionId2 = session.SessionId;

            Assert.IsTrue(startTime1 == startTime2 && sessionId1 == sessionId2);

            // sleep longer until session expires
            session.Pause();
            Thread.Sleep(Convert.ToInt32((maConfig.SessionTimeout + 1) * 1000));
            session.Resume();

            // make sure session is expired
            DateTime startTime3 = session.StartTime;
            string   sessionId3 = session.SessionId;

            Assert.IsTrue(startTime3 > startTime2 && sessionId2 != sessionId3);

            // sleep for a while but wake up before session expires
            session.Pause();
            Thread.Sleep(Convert.ToInt32((maConfig.SessionTimeout - 1) * 1000));
            session.Resume();

            // make sure session is not expired
            DateTime startTime4 = session.StartTime;
            string   sessionId4 = session.SessionId;

            Assert.IsTrue(startTime4 == startTime3 && sessionId4 == sessionId3);

            // sleep longer until session expires
            session.Pause();
            Thread.Sleep(Convert.ToInt32((maConfig.SessionTimeout + 1) * 1000));
            session.Resume();

            // make sure session is expired
            DateTime startTime5 = session.StartTime;
            string   sessionId5 = session.SessionId;

            Assert.IsTrue(startTime5 > startTime4 && sessionId5 != sessionId4);
        }
All Usage Examples Of Amazon.MobileAnalytics.MobileAnalyticsManager.Internal.Session::Start