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; }

相关内容

热门资讯

盘点几款!雀神麻将助赢神器购买... 盘点几款!雀神麻将助赢神器购买微信小程序(辅助挂)确实是真的有挂(真的有挂)-哔哩哔哩;雀神麻将助赢...
重大通报!wpk俱乐部怎么盈利... wpk俱乐部高级策略深度解析‌;重大通报!wpk俱乐部怎么盈利!原来真的有挂((2022已更新))(...
9分钟实锤!德州ai辅助神器w... 9分钟实锤!德州ai辅助神器wpk(辅助挂)辅助透视((2023已更新))(哔哩哔哩);9分钟实锤!...
透明规律!贵阳捉鸡麻将听牌器(... 透明规律!贵阳捉鸡麻将听牌器(辅助挂)其实真的有挂(有挂辅助)-哔哩哔哩是由北京得贵阳捉鸡麻将听牌器...
五分钟了解!雀神广东麻将设置胜... 广东雀神智能插件安装使用版本解析‌,五分钟了解!雀神广东麻将设置胜率(辅助挂)果真真的有挂(新版有挂...
总算了解!手机鄂州晃晃有外挂吗... 总算了解!手机鄂州晃晃有外挂吗(辅助挂)其实是真的有挂(有挂透明挂)-哔哩哔哩,支持语音通讯、好友开...
六分钟了解!来玩德州app辅助... 六分钟了解!来玩德州app辅助软件(辅助挂)透视辅助((2021已更新))(哔哩哔哩)是一款可以让一...
玩家科普!微信雀神小程序能开挂... 广东雀神辅助器最新版版本稳定性对比与推荐‌:玩家科普!微信雀神小程序能开挂(辅助挂)竟然是真的有挂(...
科普攻略!来玩德州app有挂吗... 科普攻略!来玩德州app有挂吗!原来是真的有挂((2023已更新))(哔哩哔哩)是一款可以让一直输的...
透视黑科技!山西大唐麻将怎么调... 透视黑科技!山西大唐麻将怎么调胜率(辅助挂)的确是真的有挂(有挂教程)-哔哩哔哩关于山西大唐麻将怎么...