小编Dmi*_*mel的帖子

HttpClient GetAsync 冻结

授权后,将加载联系页面。该方法在视图模型页面中调用。

public partial class Contacts : ContentPage
        {
            ContactsPageViewModels vm;    
            public Contacts()
            {
                vm = new ContactsPageViewModels();
                BindingContext = vm;
                InitializeComponent();
            }
         }
Run Code Online (Sandbox Code Playgroud)

我试着只发送200ok。一切都进入http分析器,但在应用程序本身中它挂在第一行

public async Task<ObservableCollection<UserModel>> GetContactsList()
        {
            //freezes in the first line
            var response = await client.GetAsync("http://localhost:52059/api/Home/GetContacts/" + Convert.ToString(App.User.ID));
            string responseBody = await response.Content.ReadAsStringAsync();
            return JsonConvert.DeserializeObject<ObservableCollection<UserModel>>(responseBody);
        }
Run Code Online (Sandbox Code Playgroud)

控制器

        [HttpGet]
        [Route("GetContacts/{id}")]
        public ActionResult GetContacts(int id)
        {
            ObservableCollection<UserModel> users = new ObservableCollection<UserModel>();

            foreach (UserModel user in db.UserModels)
                users.Add(user); 

            users.Remove(db.UserModels.FirstOrDefault(u => u.ID == id));

            Response.Headers.Add("Content-Type", "application/json");

            //return Ok();
            return new JsonResult(users); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net xamarin xamarin.forms

1
推荐指数
1
解决办法
5177
查看次数

标签 统计

asp.net ×1

c# ×1

xamarin ×1

xamarin.forms ×1