protected override void Serialize() { Setting[VisitorIdKey] = _visitorId; Setting[UseCountKey] = _useCount.ToString(CultureInfo.InvariantCulture); Setting[CheckinCountKey] = _checkinCount.ToString(CultureInfo.InvariantCulture); Setting[SessionStartTimeKey] = _sessionStartTime; Setting[PreviousSessionStartTimeKey] = _previousSessionStartTime; Setting[VisitorStartTimeKey] = _visitorStartTime; Setting[LastEventTimeKey] = UnixDate.ToString(_lastEventTime); }
protected override void Deserialize() { string imp; if (Setting.TryGetValue(VisitorIdKey, out imp)) { _visitorId = imp; } else { _visitorId = GenerateNewVisitorId(); } if (Setting.TryGetValue(UseCountKey, out imp)) { int i; if (int.TryParse(imp, NumberStyles.Integer, CultureInfo.InvariantCulture, out i)) { _useCount = i; } } if (Setting.TryGetValue(CheckinCountKey, out imp)) { int i; if (int.TryParse(imp, NumberStyles.Integer, CultureInfo.InvariantCulture, out i)) { _checkinCount = i; } } if (Setting.TryGetValue(SessionStartTimeKey, out imp)) { // Set to the previous now. _previousSessionStartTime = imp; } if (Setting.TryGetValue(LastEventTimeKey, out imp)) { _lastEventTime = UnixDate.ToDateTime(imp); } // The new session start time. _sessionStartTime = UnixDate.ToString(DateTime.UtcNow); if (Setting.TryGetValue(VisitorStartTimeKey, out imp)) { _visitorStartTime = imp; } if (string.IsNullOrEmpty(_visitorStartTime)) { _visitorStartTime = UnixDate.ToString(DateTime.UtcNow); } PriorityQueue.AddWorkItem( () => { ++UseCount; SaveSoon(); }); base.Deserialize(); }
private static string GenerateTimestamp(DateTimeOffset dateTime) { return(UnixDate.ToString(dateTime)); }