Shared data which is common to each request
 protected SharedContext LoadContext(RequestContext ctx)
 {
     var _sharedContext = new SharedContext();
     var _user = ctx.HttpContext.User;
     if (_user.Identity.IsAuthenticated)
     {
         _sharedContext.IsAuthenticated = true;
         _sharedContext.UserName = _user.Identity.Name;
         var _sendInfo = service.GetInfo(_user.Identity.Name);
         _sharedContext.UserEmail = _sendInfo.UserEmail;
         _sharedContext.City = _sendInfo.City;
         _sharedContext.DataFileId = _sendInfo.DataFileId;
         _sharedContext.AuthToken = new UserAuthWorker().GetCurrent().AuthToken;
         _sharedContext.Forecast = new WeatherWorker(_user.Identity.Name).GetForecast10(_sendInfo.City);
     }
     else
         _sharedContext.IsAuthenticated = false;
     return _sharedContext;
 }
 public LocationVerifier(SharedContext ctx)
 {
     this.ctx = ctx;
 }