注意:您的安全凭证代表您的账号身份和所拥有的权限,等同于您的登录密码,切勿泄露他人。
*.tencentcloudapi.com
,产品的调用地址有一定区别,例如,云服务器的调用地址为cvm.tencentcloudapi.com
。具体调用地址可参考对应产品的 API 文档。通过命令行安装(这里的版本仅作为示例,实际请选择最新版本):
dotnet add package TencentCloudSDK --version 3.0.0
# 其他信息请前往 www.nuget.org/packages/TencentCloudSDK 获取
注意:命令需要在项目的主目录下执行。
通过 Visual Studio 添加包:
例如,创建一个 HelloWorld 项目:
dotnet new console -o HelloWorld
# 进入到 HelloWorld 项目主目录
dotnet run
# 输出为:Hello World!
dotnet add package TencentCloudSDK --version 3.0.0
# 为项目下载 SDK 依赖
说明:
- 如果想单独安装某个产品,例如云服务器 CVM,则添加依赖 TencentCloudSDK.Cvm 即可。
前往 Github 代码托管地址 下载最新代码,解压后安装到你的工作目录下,使用 Visual Studio 2017 打开编译。
每个接口都有一个对应的 Request 结构和一个 Response 结构。例如,云服务器的查询实例列表接口 DescribeInstances 有对应的请求结构体 DescribeInstancesRequest 和返回结构体 DescribeInstancesResponse。
下面以云服务器查询实例列表接口为例,介绍 SDK 的基础用法。
using System;
using System.Threading.Tasks;
using TencentCloud.Common;
using TencentCloud.Cvm.V20170312;
using TencentCloud.Cvm.V20170312.Models;
namespace TencentCloudExamples
{
class DescribeInstances
{
static void Main(string[] args)
{
try
{
Credential cred = new Credential {"SecretId", "SecretKey"};
CvmClient client = new CvmClient(cred, "ap-guangzhou");
DescribeInstancesRequest req = new DescribeInstancesRequest();
DescribeInstancesResponse resp = client.DescribeInstancesSync(req);
Console.WriteLine(AbstractModel.ToJsonString(resp));
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
}
}
更多示例请参见 github TencentCloudExamples 目录。
新版本 SDK 中同时提供了异步接口和同步接口,同步接口统一在异步接口之后添加了Sync
后缀,在上述代码中已有样例。
注意:在示例中由于是控制台应用程序,因此可以使用同步方式调用异步接口,即
ConfigureAwait(false).GetAwaiter().GetResult()
。在开发 ASP 应用程序,或者 Windows Forms 应用程序时,UI 控件的响应方法中,不能使用同步方式调用异步接口,否则会造成界面停止响应。
解决办法:将 UI 控件的响应方法改为异步,同时要注意同步上下文。另外,由于异步调用立即返回控制权给用户,很容易造成用户多次点击,或者用户进行了一些不期望的操作,程序中应注意此类问题。源码可以参考项目中的 WindowsFormsDemo 项目。
若在代理的环境下使用 SDK 进行接口调用,则需设置系统环境变量https_proxy
(已在示例代码中体现),否则可能出现无法正常调用、抛出连接超时异常的现象。
SDK 依赖的 FluentClient 使用的是3.2版本,但这个包目前发布了4.0版本且不兼容低版本,在 nuget 中升级此包到4.0版本会导致无法调用或调用失败等问题。
本页内容是否解决了您的问题?