手册

目录

平台技术-.NET SDK使用说明

收藏299

阅读24359

更新时间2022-04-11

环境依赖

  • .NET Framework 2.0 及以上 (不支持Windows Phone平台)

使用示例

获取淘宝当前系统时间

ITopClient client = new DefaultTopClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret", "json");
TimeGetRequest req = new TimeGetRequest();
TimeGetResponse rsp = client.Execute(req);
Console.WriteLine(rsp.Body);

获取单笔交易详情

ITopClient client = new DefaultTopClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret", "json");
TradeFullinfoGetRequest req = new TradeFullinfoGetRequest();
req.Fields = "tid,type,status,payment,orders";
req.Tid = 123456789L;
TradeFullinfoGetResponse rsp = client.Execute(req, sessionKey);
Console.WriteLine(rsp.Body);

监听实时消息通知

TmcClient client = new TmcClient("app_key", "app_secret", "default"); 
client.OnMessage += (s, e) => 
{ 
    try 
    { 
        Console.WriteLine(e.Message.Content); 
        Console.WriteLine(e.Message.Topic);
        // 默认不抛出异常则认为消息处理成功 
    } 
    catch (Exception exp) 
    { 
        Console.WriteLine(exp.StackTrace); 
        e.Fail(); // 消息处理失败回滚,服务端需要重发 
    } 
}; 
client.Connect("ws://mc.api.taobao.com/");

批量调用API

BatchTopClient client = new BatchTopClient("http://gw.api.taobao.com/router/batch", "appkey", "appsecret", "json");
TimeGetRequest timeRequest = new TimeGetRequest();
AppipGetRequest ipRequest = new AppipGetRequest();
TopBatchRequest batch = new TopBatchRequest();
batch.AddRequest(timeRequest).AddRequest(ipRequest);
TopBatchResponse rsp = client.Execute(batch);
Console.WriteLine(rsp.Body);

服务地址

API服务地址

QQ截图20170213154955.png

消息服务地址

QQ截图20170213155016.png

高级功能

不解释响应字符串为对象(这时候XxxResponse包含的对象为null)

DefaultTopClient.SetDisableParser(true)

采用精简化的JSON结构返回,去除多余JSON节点

DefaultTopClient.SetUseSimplifyJson(true)

取消API调用日志打点

DefaultTopClient.SetDisableTrace(true)

忽略HTTPS证书检查(建议只在测试环境打开)

DefaultTopClient.SetIgnoreSSLCheck(true)

取消响应GZIP压缩功能(GZIP压缩功能可以显著的减少网络传输,强烈建议不要取消)

DefaultTopClient.SetUseGzipEncoding(false)

设置HTTP连接超时和读超时时间(网络环境差的情况下可以适当增大)

// HTTP等待请求开始返回的超时时间:默认20秒
DefaultTopClient.SetTimeout(20000L)
// HTTP等待读取数据完成的超时时间:默认60秒
DefaultTopClient.SetReadWriteTimeout(60000L)

修改日志打点存储路径

DefaultTopLogger.FilePath = "c:/tmp/topsdk.log";

API调用出错自动重试(一般情况下ISP类的错误是可以重试成功的)

AutoRetryTopClient client = new AutoRetryTopClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret", "json");
client.SetMaxRetryCount(3);
client.SetRetryWaitTime(100L);
TimeGetRequest request = new TimeGetRequest();
TimeGetResponse response = client.Execute(request);
if (!response.IsError) {
    Console.WriteLine(response.Body);
}

API调用就近路由(根据API发起调用所在地选择就近的TOP机房进行调用)

ClusterTopClient client = new ClusterTopClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret", "json");
TimeGetRequest request = new TimeGetRequest();
TimeGetResponse response = client.Execute(request);
Console.WriteLine(response.Body);

注意事项

  • ITopClient的实现类都是线程安全的,所以没有必要每次API请求都新建一个ITopClient实现类
  • 创建ITopClient实现类的实例时,指定format=json,相比xml格式,可以减少数据传输量,提升API请求效率

FAQ

  • 关于此文档暂时还没有FAQ

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号