Asp.NetCoreWebAPI在客户端挂起时返回结果
创始人
2024-09-18 10:00:32
0

在Asp.Net Core Web API中,可以使用Task和async/await语法使返回结果异步化,避免客户端挂起。具体实现步骤如下:

  1. 将需要异步处理的方法改为异步方法,返回类型为Task

  2. 在Controller中调用异步方法时,使用await关键字等待异步操作完成并返回结果,同时在方法前标注async关键字

  3. 配置Web API以启用异步操作,可以在Startup类的ConfigureServices方法中添加以下代码:

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2) .AddJsonOptions(options => { options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); options.SerializerSettings.Formatting = Formatting.Indented;
}) .ConfigureApiBehaviorOptions(options => { options.SuppressModelStateInvalidFilter = true; }) .AddMvcOptions(options => { options.Filters.Add(); options.Filters.Add(); }) .AddControllersAsServices() .AddFluentValidation(fv => { fv.RegisterValidatorsFromAssemblyContaining(); });

  1. 使用HttpClient请求Web API时,需要在发送请求前将HttpClient的默认最大响应时间更改为无限制,这样客户端才不会挂起,示例代码如下:

private HttpClient httpClient = new HttpClient();

public async Task GetDataAsync(string url) where T : class { httpClient.Timeout = TimeSpan.FromMilliseconds(-1); HttpResponseMessage response = await httpClient.GetAsync(url); string contentString = await response.Content.ReadAsStringAsync(); T result = JsonConvert.DeserializeObject(contentString); return result; }

相关内容

热门资讯

实测交流!德州app辅助工具,... 实测交流!德州app辅助工具,广东雀神麻雀辅助器,阿拉斗牛有没有外挂(有挂解密)1、该软件可以轻松地...
热点推荐!微扑克真的有外挂嘛,... 热点推荐!微扑克真的有外挂嘛,雀神麻将辅牌器怎么下载,微信小程序财神十三张有挂吗(有挂工具);1、完...
分享给玩家!aapoker有后... 分享给玩家!aapoker有后台操控,雀神广东麻雀正规吗,欢乐情怀棋牌软件黑科技(有挂揭秘);暗藏猫...
总算了解!wpk透视辅助工具,... 总算了解!wpk透视辅助工具,广东雀神小程序打牌技巧,大唐麻将是不是有规律(有挂规律)1、完成大唐麻...
一分钟揭秘!德扑之星可以操作,... 一分钟揭秘!德扑之星可以操作,广东雀神智能插件安装可使用,369山东麻将app有挂吗(有挂解密)1、...
热点讨论!aapoker ai... 热点讨论!aapoker ai软件,微信雀神小程序辅助器免费,广西老友麻将有挂的吗(有挂教程)广西老...
我来教大家!德州ai辅助,微信... 我来教大家!德州ai辅助,微信雀神广东麻雀小程序辅助,天天真人麻将怎么增加胜率(有挂规律);该软件可...
必看攻略!wepoke真的有挂... 必看攻略!wepoke真的有挂,七彩全民雀神辅助,哈狗十三道如何拿到好牌(有挂工具);1、下载好哈狗...
科技揭秘!governorof... 科技揭秘!governorofpoker3有辅助,微信雀神麻将怎么设置才赢,决胜辅助器(有挂教程)1...
重要通知!智星德州菠萝辅助器,... 重要通知!智星德州菠萝辅助器,微信小程序雀神真的可以开挂吗,欢乐龙城棋牌拼三张有外挂吗(有挂工具);...