RTX二次开发(二)(基于ASP.NET)
上一篇,我们讲到我开发环境的配置,还没配置好开发环境或再看一遍开发环境配置?接下来,我们开始coding......
在coding之前,我们先添加引用。
我们在SDK的安装目录中引用这个文件。

引用之后,我们会在bin目录下看到这些dll文件。

之后,我们在在cs文件中引用

接下来,我们就可以真正进行coding啦。
先初始化服务器配置
int retval;
//初始化服务器属性
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = "172.0.0.1" RootObj.ServerPort ="8006"; //设置服务器端口
然后进行相关的代码操作,我写了一部分实现的代码,大家可以根据SDK文档写自己的代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using RTXSAPILib;
using System.Data;
using System.Configuration;
/// <summary>
/// RTXactive 的摘要说明
/// </summary>
public class RTXactive
{
private static string Ip = ConfigurationManager.AppSettings["rtxServerIP"]; //RTX服务器IP地址 127.0.0.1
private static short Iport = Convert.ToInt16(ConfigurationManager.AppSettings["rtxServerAppPort"]);//RTX服务器端口,8006;
/// <summary>
/// 发送消息提醒(待办事宜)
/// </summary>
/// <param name="receiverAccount">接收者</param>
/// <param name="title">标题</param>
/// <param name="holdtime">停留时间 0为等待用户关闭,以毫秒计</param>
/// <param name="content">发送内容,自动识别链接</param>
/// <returns></returns>
public static int SendNotify(string receiverAccount, string title, string holdtime, string content)
{
int retval;
//初始化服务器属性
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口 try
{
RootObj.SendNotify(receiverAccount, title, , content); //获取版本信息
retval = ;
return retval;
}
catch (Exception xe)
{
retval = ;
return retval;
}
}
/// <summary>
/// 发送IM聊天消息
/// </summary>
/// <param name="senderAccount">发送人</param>
/// <param name="password">发送人密码</param>
/// <param name="receiver">接收者,不能超过128人一次</param>
/// <param name="content">发送内容</param>
/// <returns>0为发送出错 1为成功</returns>
public int SendIM(string senderAccount, string password, string receiver, string content)
{
int retval; //初始化服务器属性
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
//获致sessionkey
string sessionKey = GetSessionKey(senderAccount);
try
{
RootObj.SendIM(senderAccount, password, receiver, content, sessionKey);
retval = ;
return retval;
}
catch (Exception xe)
{
retval = ;
return retval;
}
}
/// <summary>
/// 获得session
/// </summary>
/// <param name="Account">账号</param>
/// <returns></returns>
public static string GetSessionKey(string Account) //服务器端代码
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
string SessionKey = "";
RTXSAPILib.RTXSAPIUserAuthObj UserAuthObj = RootObj.UserAuthObj; //创建一个用户认证对象
try
{
SessionKey = "{" + UserAuthObj.GetSessionKey(Account) + "}"; //通过用户认证对象获取SessionKey
}
catch (Exception ex)
{
return ex.Message.ToString();
}
return SessionKey; //返回SessionKey
}
/// <summary>
/// 添加用户
/// </summary>
/// <param name="bstrUserName">用户名</param>
/// <param name="lAuthType">用户类型</param>
/// <returns></returns>
public static int AddUser(string bstrUserName, int lAuthType)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.UserManager.AddUser(bstrUserName, lAuthType);
return ;
}
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 删除用户
/// </summary>
/// <param name="userAccount">用户账号</param>
/// <returns></returns>
public static bool DeleteUserAccount(string userAccount)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.UserManager.DeleteUser(userAccount); return true;
}
catch (Exception xe)
{
return false; }
}
/// <summary>
/// 设置用户密码
/// </summary>
/// <param name="bstrUserName">用户名</param>
/// <param name="bstrPwd">密码</param>
/// <returns></returns>
public static int AddUser(string bstrUserName, string bstrPwd)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.UserManager.SetUserPwd(bstrUserName, bstrPwd);
return ;
}
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 检查是否存在用户
/// </summary>
/// <param name="userAccount">用户账号</param>
/// <returns></returns>
public static bool IfExist(string userAccount)
{
int retval;
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
return RootObj.UserManager.IsUserExist(userAccount);
}
catch (Exception ex)
{
return false;
}
} /// <summary>
/// 检查用户在线状态
/// </summary>
/// <param name="userAccount">用户账号</param>
/// <returns></returns>
public static string QueryUserState(string userAccount)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
return RootObj.QueryUserState(userAccount); }
catch (Exception ex)
{
return "Error";
}
}
/// <summary>
/// 用户名转换为RTX帐号
/// </summary>
/// <param name="bstrUserName"></param>
/// <returns></returns>
public int UserNameToUin(String bstrUserName)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport;
try
{
return RootObj.UserManager.UserNameToUin(bstrUserName); }
catch (Exception e)
{
return ;
}
}
/// <summary>
/// RTX帐号转换为用户名
/// </summary>
/// <param name="lUin"></param>
/// <returns></returns>
public string UinToUserName(int lUin)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport;
try
{
return RootObj.UserManager.UinToUserName(lUin); }
catch (Exception e)
{
return "noUin";
}
}
/// <summary>
/// //添加部门
/// </summary>
/// <param name="DeptName">部门名</param>
/// <param name="ParentDeptId">父部门ID</param>
/// <returns></returns>
public int addDept(String DeptName, String ParentDeptId)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.DeptManager.AddDept(DeptName, ParentDeptId);
return ;
}
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 删除部门
/// </summary>
/// <param name="DeptName">部门名</param>
/// <param name="ifDelectChild">是否删除子部门</param>
/// <returns></returns>
public int deleteDept(String DeptName, bool ifDelectChild)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.DeptManager.DelDept(DeptName, ifDelectChild);
return ;
}
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 修改部门名
/// </summary>
/// <param name="DeptName">旧部门名</param>
/// <param name="newDeptName">新部门名</param>
/// <returns></returns>
public int setDept(String DeptName, string newDeptName)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.DeptManager.SetDeptName(DeptName, newDeptName);
return ;
}
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 查看部门名是否存在
/// </summary>
/// <param name="DeptName">部门名</param>
/// <returns></returns>
public int deptIsExist(String DeptName)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
if (RootObj.DeptManager.IsDeptExist(DeptName))
{
return ;
}
else
{
return ;
} }
catch (Exception ex)
{
return ;
}
}
/// <summary>
/// 获取部门下的所有用户
/// </summary>
/// <param name="bstrDeptName">部门名</param>
/// <returns></returns>
public String getDeptUsers(String bstrDeptName)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
string DeptUsers = "";
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
DeptUsers = RootObj.DeptManager.GetDeptUsers(bstrDeptName);
return DeptUsers;
}
catch (Exception ex)
{
return "noUser";
}
}
/// <summary>
/// 将用户添加到部门下
/// </summary>
/// <param name="bstrUserName">用户名</param>
/// <param name="bstrSrcDeptName"></param>
/// <param name="bstrDestDeptName"></param>
/// <param name="bIsCopy"></param>
public void AddUserToDept(String bstrUserName, string bstrSrcDeptName, string bstrDestDeptName, bool bIsCopy)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.DeptManager.AddUserToDept(bstrUserName,bstrSrcDeptName,bstrDestDeptName,bIsCopy);
}
catch (Exception ex)
{ }
}
/// <summary>
/// 设置用户信息
/// </summary>
/// <param name="bstrUserName">用户id</param>
/// <param name="bstrName">姓名</param>
/// <param name="lGender">性别</param>
/// <param name="bstrMobile">电话</param>
/// <param name="bstrEMail">邮箱</param>
/// <param name="bstrPhone">手机</param>
/// <param name="lAuthType">权值</param>
public void SetUserBasicInfo(String bstrUserName, string bstrName, int lGender, string bstrMobile, string bstrEMail, string bstrPhone, int lAuthType)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.UserManager.SetUserBasicInfo(bstrUserName, bstrName, lGender, bstrMobile, bstrEMail, bstrPhone, lAuthType);
}
catch (Exception ex)
{ }
}
/// <summary>
/// 将用户从部门中删除
/// </summary>
/// <param name="bstrUserName">用户名</param>
/// <param name="bstrDestDeptName">部门名</param>
public void DelUserFromDept(String bstrUserName, string bstrDestDeptName)
{
RTXSAPILib.IRTXSAPIRootObj RootObj;
RootObj = new RTXSAPIRootObj();
//创建根对象
RootObj.ServerIP = Ip;
RootObj.ServerPort = Iport; //设置服务器端口
try
{
RootObj.DeptManager.DelUserFromDept(bstrUserName, bstrDestDeptName);
}
catch (Exception ex)
{ }
}
}
RTX基本操作(发送待办事宜、发送消息,增删改查用户、部门)的代码就在这啦,后面咱将还有两篇,一个是RTX单点登录,一个是RTX反向单点登录。
这次还是一样,有问题可以留言哈。
RTX二次开发(二)(基于ASP.NET)的更多相关文章
- 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(1)
最近使用vscode比较多. 学习了一下如何在mac上使用vscode开发asp.netcore项目. 这里是我写的关于vscode的一篇文章: https://www.cnblogs.com/cgz ...
- Linux基于webRTC的二次开发(二) 实现远程桌面共享
webRTC中的desktop_capture模块提供了捕获桌面和捕获窗口的相关功能,而实现远程桌面共享功能需要将desktop_capture捕获的画面作为peerconnection的视频源,下面 ...
- 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(2)
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 为Domain Model添加约束 前一部分, 我们已经把数据库创建出来了. 那么我们先看看这个数据库 ...
- 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(3)
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 由于 ...
- Jmeter二次开发——基于Java请求
简述 这近几年,越来越多非http的协议需要进行性能测试,包括不仅限于各类rpc.mq.缓存等.对于这些协议,市面上可能没有现成的工具可以直接使用,这个时候,我们可以自己动手,通过编写相应的JavaS ...
- 微控工具xp模块-开发版[微信(wechat)二次开发模块]
http://repo.xposed.info/module/com.easy.wtool 微控工具xp模块-开发版[微信(wechat)二次开发模块] 基于xposed框架的微信二次开发模块,方 ...
- EasyDSS点播与直播服务器软件-二次开发接口对接说明示列
EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作.其中,点播版本主要包含:上传.转码.分发.直播版本,主要包含:直播.录像, 直播支持RTMP输 ...
- EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器软件二次开发接口对接说明示列
EasyDSS相关功能 EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作.其中,点播版本主要包含:上传.转码.分发.直播版本主要包含:直播.录像 ...
- RTX二次开发(一)(基于ASP.NET)
腾讯通RTX是(Real Time eXpert)是腾讯公司推出的企业级实时通信平台,致力于帮助企业提高运作效率.降低沟通成本.拓展商业机会,是一种高度可管理.低成本.易部署的IT平台.RTX集成了丰 ...
- cWeb开发框架,基于asp.net的cWeb应用开发平台介绍(二)
cWeb是基于微软的.Net Framework 4框架,数据库是sql server 2008 r2. cWeb开发框架下载,点击这里去下载. cWeb开发框架借鉴三层架构理论分为三层,分别是:cD ...
随机推荐
- 未在本地计算机上注册"microsoft.ACE.oledb.12.0"提供程序解决办法
错误信息:未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序. 解决办法: 去http://download.microsoft.com/download/7/0/3/7 ...
- UVa 11384 Help is needed for Dexter
分析题目以后得出,对于一个连续等差递增的序列,例如1,2,3,4,5,6,每次选择其中后一半,减去能减的最大数,则是最优操作. 上述序列经过一次操作后变为1,2,3,0,1,2,此时可抛弃后一半(已经 ...
- C/C++ Lua Parsing Engine
catalog . Lua语言简介 . 使用 Lua 编写可嵌入式脚本 . VS2010编译Lua . 嵌入和扩展: C/C++中执行Lua脚本 . 将C++函数导出到Lua引擎中: 在Lua脚本中执 ...
- 提高效率的Matlab使用方式
1.花一点时间学习一些提高效率的技巧永远是值得的: 2.总结和记录永远是必要的. Command窗口: Editor窗口: 1.Tab自动补全
- C#用HttpClient抓取jd.com搜索框下拉数据
添加System.Web.dll引用 添加System.Net.Http引用 using System.Net.Http; using System.Web; string key = "电 ...
- POJ 2559 Largest Rectangle in a Histogram(单调栈)
传送门 Description A histogram is a polygon composed of a sequence of rectangles aligned at a common ba ...
- POJ 1061青蛙的约会(拓展欧几里德算法)
题目链接: 传送门 青蛙的约会 Time Limit: 1000MS Memory Limit: 65536K Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见 ...
- opencv 简单模糊和高斯模糊 cvSmooth
cv::Mat 是C++版OpenCV的新结构. cvSmooth() 是老版 C API. 没有把C接口与C + + 结合. 建议你们也可以花一些时间看一下介绍. 同样,你如果查看opencv/mo ...
- centos忘记root密码,重新设置的方法
今天重新装了一个centos6.6,好像root密码没有叫我设置吧,然后用虚拟机开始安装之前的密码登录显示失败,所以有了下面的彩蛋.....Helloween... 在虚拟机安装了Centos,今天要 ...
- 深入JVM-Class装载系统
一.Class文件的装载过程 Class类型通常以文件的形式存在(当然,任何二进制流都可以是Class类型),只有被Java虚拟机装载的Class类型才能在程序中使用.系统状态Class类型可以分为加 ...