WebApiClient icon indicating copy to clipboard operation
WebApiClient copied to clipboard

TimeOut action属性和Param属性 设置之后都不起作用 无论设置多少都是60秒超时

Open xyb213405 opened this issue 2 years ago • 1 comments

注入服务 services.AddHttpClient(HttpApi.GetName(typeof(IMssApiService)), client => { client.BaseAddress = new Uri(App.GetOptions<AppInfoOptions>().MssApiHost); client.Timeout = new TimeSpan(0, 0, 1000); }); services.AddHttpApi<IMssApiService>(); services.Configure<HttpApiOptions>(options => { options.JsonSerializeOptions.PropertyNamingPolicy = null; options.JsonSerializeOptions.DictionaryKeyPolicy = null; options.JsonSerializeOptions.NumberHandling = JsonNumberHandling.AllowNamedFloatingPointLiterals; });

//接口声明 action 特性 [Timeout(1000*200)] [HttpGet("/api/task/GetHelloworld")] //[HttpPost("/api/MmsCalculate")] Task<JsonResponse> GetHelloworld(); //param 特性 [HttpGet("/api/task/GetHelloworld")] //[HttpPost("/api/MmsCalculate")] Task<JsonResponse> GetHelloworld([Timeout] TimeSpan timeSpan);

服务端模拟 一个100秒的接口 客户端timeout不论设置多长时间 都是60秒超时

xyb213405 avatar Aug 05 '23 07:08 xyb213405

你好,我们从未接受到类似的报告,近期也没有对超时行为进行更改,理论上你所说的情况不会出现。 另外,你所提供的代码较为混乱,建议使用代码块提交代码,AddHttpClient是直接配置HttpClient ,应该使用AddHttpApi,但AddHttpApi没有提供仅IServiceCollection的方法,无法判断你所描述的情况,若有可能请提供一个可复现的demo,包含脱敏后的,可复现的Client、Server代码

EzrealJ avatar Aug 06 '23 06:08 EzrealJ

太久没有反馈,关闭issue

EzrealJ avatar May 08 '24 22:05 EzrealJ