Exemple #1
0
        public async Task <XUser> GetCurrentUser()
        {
            HttpClient client = GetClient();

            var request        = new HttpRequestMessage();
            Uri siteUrl        = new Uri(SiteUrl);
            Uri getCurrentUser = new Uri(siteUrl, "/_api/Web/CurrentUser");

            request.Method     = HttpMethod.Get;
            request.RequestUri = getCurrentUser;
            XUser user = null;

            //TODO: add error handling
            await client.SendAsync(request).ContinueWith((taskwithmsg) =>
            {
                var response = taskwithmsg.Result;

                var responseContentTask = response.Content.ReadAsStringAsync();
                responseContentTask.Wait();
                string resPonseData = responseContentTask.Result;
                user         = XUser.ParseUser(resPonseData);
                user.Context = this;
                return(user);
            });

            return(user);
        }