コード例 #1
0
        public static async Task <LabResponse> GetLabUserDataAsync(UserQuery query)
        {
            if (s_userCache.ContainsKey(query))
            {
                Debug.WriteLine("User cache hit");
                return(s_userCache[query]);
            }

            var user = await s_labService.GetLabResponseAsync(query).ConfigureAwait(false);

            if (user == null)
            {
                throw new LabUserNotFoundException(query, "Found no users for the given query.");
            }

            Debug.WriteLine("User cache miss");
            s_userCache.Add(query, user);

            return(user);
        }
コード例 #2
0
        // only set up for this format of query: {URI-scheme}://{URI-host}/{resource-path}/UPN
        public static async Task <LabResponse> GetLabUserDataForSpecificUserAsync(string upn)
        {
            string result = await s_labService.GetLabResponseAsync(LabApiConstants.LabEndPoint + "/" + upn).ConfigureAwait(false);

            return(s_labService.CreateLabResponseFromResultStringAsync(result).Result);
        }