Easemob.Restfull4Net

环信Restfull API dotnet的封装
支持的.Net Framework版本:4.0
API地址:http://docs.easemob.com/start/100serverintegration

一、SDK的使用说明:

采用配置节点的形势来设置环信,且一次可以支持多个app进行调用,在数据处理上,全部采用强类型实体进行包装,异常处理全部数据错误日志,方便查询。

以下为配置节点的使用方法:

1、采用Section的形式配置app,这种方式有个好处,可以连续配置多个app。

<configSections>
<section name="EasemobServer" type="Easemob.Restfull4Net.Config.Configuration.ServerConfigSection,Easemob.Restfull4Net"/>
</configSections>
<EasemobServer>
<!--
备注:此节点可添加多个
serverUrl:环信服务器地址
orgName:组织名,对应#前面部分
appName:应用名,对应#后面部分
clientId:客户端ID
clientSecret:客户端密钥
httpTimeOut:请求超时设置(以毫秒为单位)
isDebug:是否为调试模式,说明:如果为调试模式,将在程序主目录输出日志文件
maxJsonLength:JavaScriptSerializer类接受的JSON字符串的最大长度
-->
<server
serverUrl="https://a1.easemob.com/"
orgName="orgName"
appName="appName1"
clientId="clientId1"
clientSecret="clientSecret1"
httpTimeOut=""
isDebug="true"
maxJsonLength="">
</server>
<server
serverUrl="https://a1.easemob.com/"
orgName="orgName"
appName="appName2"
clientId="clientId2"
clientSecret="clientSecret2"
httpTimeOut=""
isDebug="true"
maxJsonLength="">
</server>
</EasemobServer>

2、使用自定义节点配置,目前SDK封装的只能使用一个app。

<add key="HX_EaseServerUrl" value="https://a1.easemob.com/"/><!--环信服务器地址-->
<add key="HX_EaseAppClientID" value="clientId3"/><!--客户端ID-->
<add key="HX_EaseAppClientSecret" value="clientSecret3"/><!--客户端密钥-->
<add key="HX_EaseAppName" value="appName3"/><!--应用名,对应#后面部分-->
<add key="HX_EaseAppOrgName" value="orgName"/><!--组织名,对应#前面部分-->
<add key="HX_EaseHttpTimeOut" value=""/><!--请求超时设置(以毫秒为单位)-->
<add key="HX_EaseIsDebug" value="true"/><!--是否为调试模式,说明:如果为调试模式,将在程序主目录输出日志文件-->
<add key="HX_EaseMaxJsonLength" value=""/><!--JavaScriptSerializer类接受的JSON字符串的最大长度-->

3、使用代码的硬编码形式启动app。

//自定义实例化
var syncRequest = new SyncRequest(new ServerConfig()
{
OrgName = "",
AppName = "",
ClientId = "",
ClientSecret = "",
IsDebug = true,
});
以下为实际代码使用

在SDK内容,已经将配置的节点都封装进Client,在使用的时候只要直接使用Client提供的方法即可
如:我想在创建一个用户时的代码如下:

//单个创建
var user = Client.DefaultSyncRequest.UserCreate(new UserCreateReqeust()
{
nickname = string.Concat("Test", this._userName, ""),
password = "",
username = string.Concat("Test", this._userName, ""),
});
Assert.AreEqual(user.StatusCode, HttpStatusCode.OK);

如:我集成了多个app时,DefaultSyncRequest默认返回第一个,而我要使用特定的某个app时,代码如下:

//单个创建
var user = Client.SyncRequests["app2"].UserCreate(new UserCreateReqeust()
{
nickname = string.Concat("Test", this._userName, ""),
password = "",
username = string.Concat("Test", this._userName, ""),
});
Assert.AreEqual(user.StatusCode, HttpStatusCode.OK);

其中SyncRequests中的key就是你在环信的appname。

二、目前SDK的封装进度:

同步请求:

【完成】用户体系集成

【完成】聊天记录

【完成】文件上传下载

【完成】发送消息

【完成】群组管理

【完成】聊天室管理

异步请求:

【未开始】

dotnet core版本:

【计划开始同步请求】

(备注:以上为目前的开发进度,且上面完成的功能都已经投入使用,后续将完成剩下的api封装;目前整个SDK都是使用同步请求进行,还未加入异步请求,后续也将集成进去。)

三、版本更新历史

*******************************************************
version:1.2.0.36217 data:2016-10-27
1、新增群组管理和聊天室管理API
2、修复以往的一些BUG和性能
3、统一内部和外部一致的版本号命名
*******************************************************

*******************************************************
version:1.0.2  data:2016-08-31
1、修复缓存和同步请求时的头不变的BUG,并增加token失效时的重试机制
2、增加Winform和Webform的集成例子
3、最新的NuGet包已经上传,并增加config文件的自动增加功能
*******************************************************

*******************************************************

version:1.0.1  data:2016-08-22

1.修改单元测试项目,其中测试的图片上传采用网络图片

2.加入NAnt进行持续集成,如果要采用NAnt进行build,需要确定本机安装啦NAnt工具,且由于项目中的单元测试项目使用的是MSTest,所以要确保编译的机器上已经安装此组件;NAnt.build文件中有设置依赖组件的组件,打开编辑成所在编译机器路径即可

*******************************************************

*******************************************************

version:1.0.0  data:2016-08-10

初始版本发布 完成同步请求的“用户体系集成”,“聊天记录”,“文件上传下载”,“发送消息”

*******************************************************

四、项目相关地址

源码:https://github.com/easonjim/Easemob.Restfull4Net

bug提交:https://github.com/easonjim/Easemob.Restfull4Net/issues

Release版本:https://github.com/easonjim/Easemob.Restfull4Net/releases

NuGet:https://www.nuget.org/packages/Easemob.Restfull4Net/

环信Restfull API dotnetSDK的更多相关文章

  1. 环信REST API python SDK

    今天鼓起勇气,决定把这个贡献出来.不敢误人子弟,也一直担心,在不良质量的产品会祸害人,但自己已经使用,它本身也没技术. 平庸的代码,高效地实用,为环信贡献点力,如有问题,欢迎斧正,一起学习,一起成长, ...

  2. 基于环信的仿QQ即时通讯的简单实现

    代码地址如下:http://www.demodashi.com/demo/11645.html 我的博客地址 之前一直想实现聊天的功能,但是感觉有点困难,今天看了环信的API,就利用下午的时间动手试了 ...

  3. 环信-(php)服务器端REST API

    <?php namespace Home\Controller; use Think\Controller; /** * 环信-服务器端REST API * @author limx <l ...

  4. iOS-即时通讯-环信

    下载地址:http://www.easemob.com/downloads SDK目录讲解 1.从官网下载下来的包分为如下四部分: 环信iOS SDK 开发使用 环信iOS release note ...

  5. 集成IOS 环信SDK

    集成IOS SDK 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. 下载SDK 通过Cocoapods下载地址 不包含实时语音版本SDK(EaseMobC ...

  6. Android 环信的使用

    1.导入包 http://docs.easemob.com/doku.php?id=start:200androidcleintintegration:10androidsdkimport 在清单文件 ...

  7. 李洪强iOS开发之-环信03_集成 SDK 基础功能

    李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. SDK 同步/异步方法区分 ...

  8. 李洪强iOS开发之-环信02.2_环信官网下载环信 SDK

    李洪强iOS开发之-环信02.2_环信官网下载环信 SDK 移动客服即时通讯云 iOS SDK 当前版本:V3.1.4 2016-07-08 [ 版本历史 ] | 开发指南 | 知识库 | Demo源 ...

  9. 李洪强iOS开发之-环信02_iOS SDK 介绍及导入

    李洪强iOS开发之-环信02_iOS SDK 介绍及导入 iOS SDK 介绍及导入 iOS SDK 介绍 环信 SDK 为用户开发 IM 相关的应用提供的一套完善的开发框架.包括以下几个部分: SD ...

随机推荐

  1. BZOJ 1010 【HNOI2008】 玩具装箱toy

    Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1... ...

  2. CentOS上搭建Nginx + Mono 运行 asp.net

    安装步骤: 一.获取开源相关程序: 1.利用CentOS Linux系统自带的yum命令安装.升级所需的程序库: sudo -sLANG=Cyum -y install gcc gcc-c++ aut ...

  3. C#TCP通讯框架

    开源的C#TCP通讯框架 原来收费的TCP通讯框架开源了,这是一款国外的开源TCP通信框架,使用了一段时间,感觉不错,介绍给大家 框架名称是networkcomms 作者开发了5年多,目前已经停止开发 ...

  4. 关于用mybatis调用存储过程时的入参和出参的传递方法

    一.问题描述 a)         目前调用读的存储过程的接口定义一般是:void  ReadDatalogs(Map<String,Object> map);,入参和出参都在这个map里 ...

  5. TF400916错误修复办法

    在使用TFS作为研发过程管理工具的时候,如果调整了工作项的状态信息,可能会出现下面的错误: 要解决此问题非常简单: 1.找一台安装了VS2015程序的环境.因为我们使用的是TFS2015,所以需要对应 ...

  6. 【开源】分享一个前后端分离方案-前端angularjs+requirejs+dhtmlx 后端asp.net webapi

    一.前言 半年前左右折腾了一个前后端分离的架子,这几天才想起来翻出来分享给大家.关于前后端分离这个话题大家也谈了很久了,希望我这个实践能对大家有点点帮助,演示和源码都贴在后面. 二.技术架构 这两年a ...

  7. WebService的两种方式SOAP和REST比较 (转)

    我的读后感:由于第一次接触WebService,对于很多概念不太理解,尤其是看到各个OpenAPI的不同提供方式时,更加疑惑.如google map api采用了AJAX方式,通过javascript ...

  8. (二十一)状态模式详解(DOTA版)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 本次LZ给各位介绍状态模式, ...

  9. MC700 安装双系统

    2011年买的MBP MC700给老婆用了一段时间后,老婆还不习惯不了Mac OS或是虚拟机,要求必须给安装windows,无奈时隔四年后,只能重新尝试在MC700上用bootcamp安装Window ...

  10. Tomcat本地服务器搭建

    首先,下载jdk-8u111-windows-x64.exe,然后配置环境,以安装目录D:\jdk1.8.0_111为例: 新建一个变量: 然后打开path新建两个变量: 最后去控制台敲javac或者 ...