private async Task BuildWebIdCache() { Dictionary <StreamsEnum, string> webIds = _sessionContext.UserContext.WebIDs; if (webIds == null) { string webID = await GetServerWebID(); string nameFilter = string.Format("{0}.MobileData*", _sessionContext.UserContext.Username); HttpResponseMessage responseGetPoints = await _piWebClient.GetPoints(webID, nameFilter); dynamic valueResult; if (responseGetPoints.StatusCode == HttpStatusCode.Ok) { using (StreamReader sr = new StreamReader((await responseGetPoints.Content.ReadAsInputStreamAsync()).AsStreamForRead())) { using (JsonTextReader jReader = new JsonTextReader(sr)) { valueResult = JObject.ReadFrom(jReader); } } IList <PointDTO> points = valueResult["Items"].ToObject <List <PointDTO> >(); ApplicationDataCompositeValue webIdsStored = new ApplicationDataCompositeValue(); foreach (var pt in points) { webIdsStored.Add(pt.Name, pt.WebId); } AppSettingsManager.Instance.LocalSettings.Containers["UserSettings"].AddOrUpdateValue("WebIds", webIdsStored); } } }