超时配置
更新时间:
本节主要介绍原版 SDK 如何进行网络超时配置。
重要
每个接口 API 都有独立的 Request,命名方式为 ${API}${Request},例如 DescribeInstancesRequest。
超时时间概念:
Connect Time:连接超时,是指 SDK 端到服务端的 TCP 连接建立时间;
Read Time:读超时,是指连接建立之后,SDK 发送请求(request)到接受到响应完成(response end)的时间;
原版 SDK 的超时机制为 Request 设置 -> Client 设置 -> 默认,优先级依次降低;默认连接超时为5秒,读超时为10秒:
IClientProfile profile = DefaultProfile.GetProfile(
// 地域ID
"<your-region-id>",
// 从环境变量获取RAM账号的AccessKey ID
Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),
// 从环境变量获取RAM账号的AccessKey ID
Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
DefaultAcsClient client = new DefaultAcsClient(profile);
// Client 级别的超时设置,对当前所有 request 有效
DefaultAcsClient client = new DefaultAcsClient();
client.SetConnectTimeoutInMilliSeconds(1024);
client.SetReadTimeoutInMilliSeconds(2048);
// Request 级别的超时设置 以 ECS 的 DescribeInstancesRequest 为例,仅对当前 request请求有效
DescribeInstancesRequest request = new DescribeInstancesRequest();
request.SetConnectTimeoutInMilliSeconds(1024);
request.SetReadTimeoutInMilliSeconds(2048);
文档内容是否对您有帮助?