概述
MQ消息队列的SDK目前支持Java、C/C++及.NET三种语言,关于.NET SDK的使用目前因为版本更新的问题,用户在使用的过程中多少会出现这样或那样的问题,特别是SDK中example的使用问题。本文主要介绍.NET SDK的使用注意事项及用户可能遇到的问题。
准备工作
1、SDK下载 下载地址链接,建议下载最新版本的SDK;
2、加载相关文件到已经创建的.NET控制台项目,配置参考链接;
3、配置管理器示例:
4、如果找不到x64,可以通过如下方式新建:
示例程序运行注意事项
1、基本信息的录入,具体创建方法可以在管理门户完成,注意绝大部分的用户测试环境都是在本地,所以请在公网区域创建Topic、生产者及消费者;
2、SDK sample 默认代码的运行测试文件是: ConsumerAndProducerForEx.cs,默认的示例程序并未给出ONSAddr的设置,且默认指向的是内网的地址,所以用户完成了规定参数的配置后仍然无法连通,所以需要添加ONSAddr参数的配置,参数对应的是生产者或消费者的接入点,代码修改示例如下:
ONSFactoryProperty factoryInfo = new ONSFactoryProperty();
factoryInfo.setFactoryProperty(ONSFactoryProperty.ONSAddr, "http://onsaddr-internet.aliyun.com/rocketmq/nsaddr4client-internet");
factoryInfo.setFactoryProperty(ONSFactoryProperty.AccessKey, Ons_AccessKey);
dll文件的复制粘贴问题
直接复制SDK->lib->x64下的文件到项目的bin->x64->Debug。
测试运行效果
新版本SDK使用参考
截止2019.2.16,目前最新的SDK版本为1.1.3。基本配置方式与之前一致。只是在参数设置的地方略有不同,示例如下:
private static ONSFactoryProperty getFactoryProperty()
{
ONSFactoryProperty factoryInfo = new ONSFactoryProperty();
factoryInfo.setFactoryProperty(ONSFactoryProperty.NAMESRV_ADDR, "http://MQ_INST_1848217816617278_BaQUuiNE.mq-internet-access.mq-internet.aliyuncs.com:80");
factoryInfo.setFactoryProperty(ONSFactoryProperty.AccessKey, Ons_AccessKey);
factoryInfo.setFactoryProperty(ONSFactoryProperty.SecretKey, Ons_SecretKey);
factoryInfo.setFactoryProperty(ONSFactoryProperty.ConsumerId, Ons_ConsumerId);
factoryInfo.setFactoryProperty(ONSFactoryProperty.ProducerId, Ons_ProducerID);
factoryInfo.setFactoryProperty(ONSFactoryProperty.PublishTopics, Ons_Topic);
return factoryInfo;
}