ここにコードがあります -httpclientを待っています
バージョン3:r.resultを削除してもまだ動作しません。
protected async void LogIn(LoginInfo _credentials)
{
HttpResponseMessage r = await DoLogin("demo", "Abc123$");
if (r.IsSuccessStatusCode)
{
AccountAccess aa = new AccountAccess();
var x = await r.Content.ReadAsStringAsync();
aa = JsonConvert.DeserializeObject<AccountAccess>(x);
Application.Current.Properties["access_token"] = aa.access_token;
}
else //if (lr == LoginResult.LoginRes.NoAuth)
{
Alert("Alert", "Username/password combination is incorrect", "OK");
}
}
private async Task<HttpResponseMessage> DoLogin(string username, string password)
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(Constants.LOGINURL);
var response = await client.PostAsync("Token", new StringContent("grant_type=password&username=" + username + "&password=" + password, Encoding.UTF8));
return response;
}
ユーザー名とパスワードを投稿してトークンを取得する呼び出しは返されません。
私は間違ったことをしていますか?
あなたのメソッドはすでに非同期であるため、 'Task.Run()'の使用はありません。 – SLaks
タスク PerformLogin()非同期代わり 'パブリックこの方法を試し {VARのR =待つDoLogin(_username、_password))。 (r.Result.IsSuccessStatusCode)場合は、他の { リターン "いいえ認証" {// は成功のもの を行います}; } 「OK」を返します。 } ' –