RestApi URLに対してGETリクエストを行うことでJSONデータを返すメソッドを作成しています。私がデバッグモードでアプリケーションを実行すると、私は応答の下でデータを取得します。ここでASP.NET HTTPClientアクティブ化を待っている要求ステータスを取得します。
Id = 337, Status = WaitingForActivation, Method = "{null}", Result = "{Not yet computed}"
私のコードです:ここでは
public class Methods
{
public static async Task<JObject> Get(string url, string username, string password)
{
var credentials = new NetworkCredential(username, password);
HttpClientHandler handler = new HttpClientHandler { Credentials = credentials };
HttpClient client = new HttpClient(handler);
// client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode)
{
return JObject.Parse(await response.Content.ReadAsStringAsync());
}
return new JObject { response.StatusCode };
}
}
は、私がデータにアクセスしようとしています私の見解である:
public IActionResult Index()
{
// Methods RestMethod = new Methods();
var data = Methods.Get("http://url/products", "domain\userid", "Password");
return View();
}
私はvar data = .....
thatsの場所でのビューでのデバッグを追加します私はwaiting for activation
を得ています。
本当にありがとうございます。 :)
おかげで、
レイ
あなたは現在タスクを待っていないので、「データ」はタスクであり、「JObject」ではないことに注意してください。 –
hmm ..だから、この 'var data = await Methods.Get()'のように 'await'を追加する必要がありますか? – Ray
私はそう思っています - あなたの 'Index'メソッドが非同期である必要があることを意味します。 –