111,119
社区成员
发帖
与我相关
我的任务
分享 private void tv_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
var dv = (tv.SelectedItem as TreeViewItem).Header;
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:19976/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
#region 注释这段代码就可以正确执行
HttpResponseMessage response = client.GetAsync("api/Department").Result;
response.EnsureSuccessStatusCode();
if (response.IsSuccessStatusCode)
{
var ds = response.Content.ReadAsAsync<IEnumerable<string>>();
}
#endregion
}
[/quote]
一般这种使用方法,应该用async方法
在方法开头,把Loading遮罩层显示
然后开始异步调用webapi
调用完后再隐藏Loading遮罩层
[/quote]
一般这种使用方法,应该用async方法
在方法开头,把Loading遮罩层显示
然后开始异步调用webapi
调用完后再隐藏Loading遮罩层[/quote]
用async方法也有问题,只要调用webapi,都有这个问题。开个线程就好了。具体原因是为什么呢?[/quote]
我说的是改这样哦:
private async void tv_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
HttpClient类里await Async的方法也会出问题?
[/quote]
一般这种使用方法,应该用async方法
在方法开头,把Loading遮罩层显示
然后开始异步调用webapi
调用完后再隐藏Loading遮罩层[/quote]
用async方法也有问题,只要调用webapi,都有这个问题。开个线程就好了。具体原因是为什么呢?
private async void tv_SelectedIemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
var dv = (tv.SelectedItem as TreeViewItem).Header;
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:19976/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
#region 注释这段代码就可以正确执行
HttpResponseMessage response = await client.GetAsync("api/Department");
response.EnsureSuccessStatusCode();
if (response.IsSuccessStatusCode)
{
var ds = await response.Content.ReadAsAsync<IEnumerable<string>>();
}
#endregion
}
这样试试……
[/quote]
一般这种使用方法,应该用async方法
在方法开头,把Loading遮罩层显示
然后开始异步调用webapi
调用完后再隐藏Loading遮罩层[/quote]
用async方法也有问题,只要调用webapi,都有这个问题。开个线程就好了。具体原因是为什么呢?[/quote]
我说的是改这样哦:
private async void tv_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
HttpClient类里await Async的方法也会出问题?[/quote]
private async void tv_SelectedIemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
var dv = (tv.SelectedItem as TreeViewItem).Header;
//Thread thread = new Thread(NewMethod);
//thread.Starmrt();
await NewMethod();
}
private async Task NewMethod()
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:19976/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
#region 注释这段代码就可以正确执行
HttpResponseMessage response = client.GetAsync("api/Department").Result;
response.EnsureSuccessStatusCode();
if (response.IsSuccessStatusCode)
{
var ds = await response.Content.ReadAsAsync<IEnumerable<string>>();
}
#endregion
}
这样问题依旧。