RTX ASP.NET(C#) 结合的个人实践 可以OA平台的接口

RTX  ASP.NET 结合的个人实践

  1. 版本:2008 Beta1 (8.0.054.201)
  2. 引用:Interop.RTXCAPILib.dll
  3.       Interop.RTXClient.dll
  4.       Interop.RTXSAPILib.dll
  5. using RTXCAPILib;
  6. using RTXSAPILib;
  7. using RTXClient;
  8. 本文完全按照腾讯公司提供的Demo操作
  9. ------------------------------------------------------------------
  10. VS 2005
  11. 1.新建网站 RTX_test
  12. 功能一:单点登录
  13. 前台:
  14. <table style="position: relative">
  15.             <tr>
  16.                 <td style="width: 100px">
  17.                     服务器地址:</td>
  18.                 <td style="width: 100px">
  19.                     <asp:TextBox ID="txtServerIP" runat="server" Style="position: relative">127.0.0.1</asp:TextBox></td>
  20.                 <td style="width: 122px">
  21.                     AppServer端口:</td>
  22.                 <td style="width: 100px">
  23.                     <asp:TextBox ID="txtAppServerPort" runat="server" Style="position: relative">8006</asp:TextBox></td>
  24.             </tr>
  25.             <tr>
  26.                 <td style="width: 100px">
  27.                     用户名:</td>
  28.                 <td style="width: 100px">
  29.                     <asp:TextBox ID="txtUserName" runat="server" Style="position: relative">wf</asp:TextBox></td>
  30.                 <td style="width: 122px">
  31.                     登录端口:</td>
  32.                 <td style="width: 100px">
  33.                     <asp:TextBox ID="txtServerPort" runat="server" Style="position: relative">8000</asp:TextBox></td>
  34.             </tr>
  35.             <tr>               
  36.                 <td  align=center colspan="4" style="height: 26px">
  37.                     <asp:Button ID="Button1" runat="server" Style="position: relative" Text="登录" OnClick="Button1_Click" /></td>
  38.             </tr>
  39.         </table>
  40. 后台:
  41. using RTXCAPILib;
  42. using RTXSAPILib;
  43. using RTXClient;
  44.     protected void Button1_Click(object sender, EventArgs e)
  45.     {
  46.         //登录
  47.         RTXClient.RTXAPIClass ObjApi = new RTXAPIClass();  //创建一个客户端SDK主对象     
  48.         RTXCAPILib.IRTXCRoot RTXCRoot = (RTXCAPILib.IRTXCRoot)ObjApi.GetObject("KernalRoot"); //通过主对象获取CRoot对象
  49.         try
  50.         {
  51.             string Account = txtUserName.Text; //帐号
  52.             string SessionKey = GetSessionKey(Account);//获取SessionKey
  53.             RTXCRoot.LoginSessionKey(txtServerIP.Text, Convert.ToInt16(txtServerPort.Text), Account, SessionKey);  //SessionKey 登录
  54.            
  55.             Response.Redirect("browinfo.aspx");
  56.         }
  57.         catch (Exception ex)
  58.         {
  59.             Response.Write(ex.Message.ToString());
  60.         }
  61.     }
  62.     private string GetSessionKey(string Account)  //服务器端代码
  63.     {
  64.         string SessionKey = "";
  65.         RTXSAPILib.RTXSAPIRootObj RootObj = new RTXSAPIRootObj();  //创建一个根对象
  66.         RTXSAPILib.RTXSAPIUserAuthObj UserAuthObj = RootObj.UserAuthObj; //创建一个用户认证对象
  67.         RootObj.ServerIP = txtServerIP.Text; //设置服务器IP
  68.         RootObj.ServerPort = Convert.ToInt16(txtAppServerPort.Text); //设置Appserver端口
  69.        
  70.         try
  71.         {
  72.             SessionKey = UserAuthObj.GetSessionKey(Account);  //通过用户认证对象获取SessionKey
  73.         }
  74.         catch (Exception ex)
  75.         {
  76.             Response.Write(ex.Message.ToString());
  77.         }
  78.         return SessionKey; //返回SessionKey
  79.     }
  80. 功能二:查询企业信息
  81. 前台:
  82. <body>
  83.     <form id="form1" runat="server">
  84.     <div>
  85.       <table style="position: relative">
  86.             <tr>
  87.                 <td style="width: 100px; height: 39px;">
  88.                     服务器地址:</td>
  89.                 <td style="width: 100px; height: 39px;">
  90.                     <asp:TextBox ID="txtSvrIP" runat="server" Style="position: relative">127.0.0.1</asp:TextBox></td>
  91.                 <td style="width: 128px; height: 39px;">
  92.                     AppServer端口:</td>
  93.                 <td style="width: 100px; height: 39px;">
  94.                     <asp:TextBox ID="txtSvrPort" runat="server" Style="position: relative">8006</asp:TextBox></td>
  95.             </tr>
  96.             </table>
  97.     
  98.     </div>
  99.         <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Style="position: relative"
  100.             Text="查询企业信息" />
  101.         <asp:TextBox ID="txtResult" runat="server" Style="position: relative" TextMode="MultiLine">查询企业信息</asp:TextBox>
  102.     </form>
  103. </body>
  104. 后台:
  105.  RTXSAPILib.RTXSAPIRootObj RootObj;  //声明一个根对象
  106.     protected void Page_Load(object sender, EventArgs e)
  107.     {
  108.         RootObj = new RTXSAPIRootObj();     //创建根对象
  109.         RootObj.ServerIP = txtSvrIP.Text; //设置服务器IP
  110.         RootObj.ServerPort = Convert.ToInt16(txtSvrPort.Text); //设置服务器端口
  111.     }
  112.     protected void Button1_Click(object sender, EventArgs e)
  113.     {
  114.         try
  115.         {
  116.             txtResult.Text = RootObj.GetEnterpriseInfo(); //获取企业信息
  117.         }
  118.         catch (Exception xe)
  119.         {
  120.             Response.Write(xe.Message.ToString());
  121.         }
  122.     }
  123. 功能三:发送消息提示
  124. using RTXSAPILib;
  125. using RTXClient;
  126. <body>
  127.     <form id="form1" runat="server">
  128.     <table style="position: relative">
  129.             <tr>
  130.                 <td style="width: 100px; height: 39px;">
  131.                     服务器地址:</td>
  132.                 <td style="width: 100px; height: 39px;">
  133.                     <asp:TextBox ID="txtSvrIP" runat="server" Style="position: relative">127.0.0.1</asp:TextBox></td>
  134.                 <td style="width: 128px; height: 39px;">
  135.                     AppServer端口:</td>
  136.                 <td style="width: 100px; height: 39px;">
  137.                     <asp:TextBox ID="txtSvrPort" runat="server" Style="position: relative">8006</asp:TextBox></td>
  138.             </tr>
  139.             </table>
  140.     <div>
  141.         <table style="width: 502px; position: relative">
  142.             <tr>
  143.                 <td style="width: 133px">
  144.                     消息提醒接收者:</td>
  145.                 <td style="width: 250px">
  146.                     <asp:TextBox ID="txtReceivers" runat="server" Style="position: relative"></asp:TextBox></td>
  147.             </tr>
  148.             <tr>
  149.                 <td style="width: 133px">
  150.                     息提醒标题:</td>
  151.                 <td style="width: 250px">
  152.                     <asp:TextBox ID="txtMsgTitle" runat="server" Style="position: relative"></asp:TextBox></td>
  153.             </tr>
  154.             <tr>
  155.                 <td style="width: 133px">
  156.                     息提醒停留时间:</td>
  157.                 <td style="width: 250px">
  158.                     <asp:TextBox ID="txtTime" runat="server" Style="position: relative"></asp:TextBox></td>
  159.             </tr>
  160.             <tr>
  161.                 <td style="width: 133px">
  162.                     消息内容:</td>
  163.                 <td style="width: 250px">
  164.                     <asp:TextBox ID="txtMsgContent" runat="server" Style="position: relative" TextMode="MultiLine"></asp:TextBox></td>
  165.             </tr>
  166.             <tr>
  167.                 <td style="width: 133px; height: 26px;">
  168.                 </td>
  169.                 <td style="width: 250px; height: 26px;">
  170.                     <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Style="position: relative"
  171.                         Text="发送" /></td>
  172.             </tr>
  173.         </table>
  174.         <br />
  175.         查询用户状态<br />
  176.         <table style="width: 445px; position: relative">
  177.             <tr>
  178.                 <td style="width: 100px">
  179.                     用户名:<asp:TextBox ID="txtUserName" runat="server" Style="position: relative"></asp:TextBox>
  180.                     <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Style="position: relative"
  181.                         Text="查询用户状态" /><br />
  182.                     <asp:TextBox ID="txtResult" runat="server" Style="position: relative" TextMode="MultiLine" Height="134px" Width="423px"></asp:TextBox><br />
  183.                     <asp:Button ID="Button5" runat="server" OnClick="Button5_Click" Style="position: relative"
  184.                         Text="用户权限列表" /></td>
  185.             </tr>
  186.         </table>
  187.         
  188.     
  189.     </div>
  190.         <br />
  191.         用户登录验证<br />
  192.         <table style="position: relative">
  193.             <tr>
  194.                 <td style="width: 100px">
  195.                     用户</td>
  196.                 <td style="width: 100px">
  197.                     <asp:TextBox ID="txtUserNa" runat="server" Style="position: relative"></asp:TextBox></td>
  198.             </tr>
  199.             <tr>
  200.                 <td style="width: 100px">
  201.                     密码</td>
  202.                 <td style="width: 100px">
  203.                     <asp:TextBox ID="txtPwd" runat="server" Style="left: 1px; position: relative"></asp:TextBox></td>
  204.             </tr>
  205.                <tr>
  206.                 <td  colspan="2">
  207.                     <asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Style="position: relative"
  208.                         Text="登录验证" /></td>
  209.                </tr>
  210.         </table>
  211.         <br />
  212.         <br />
  213.         获取版本信息<br />
  214.         <asp:Button ID="Button4" runat="server" OnClick="Button4_Click" Style="position: relative"
  215.             Text="获取版本信息" />
  216.     </form>
  217. </body>
  218. 后台:
  219. using System;
  220. using System.Data;
  221. using System.Configuration;
  222. using System.Collections;
  223. using System.Web;
  224. using System.Web.Security;
  225. using System.Web.UI;
  226. using System.Web.UI.WebControls;
  227. using System.Web.UI.WebControls.WebParts;
  228. using System.Web.UI.HtmlControls;
  229. using RTXSAPILib;
  230. using RTXClient;
  231. public partial class SendNotifyf : System.Web.UI.Page
  232. {
  233.     RTXSAPILib.RTXSAPIRootObj RootObj;  //声明一个根对象
  234.     protected void Page_Load(object sender, EventArgs e)
  235.     {
  236.        
  237.         RootObj = new RTXSAPIRootObj();     //创建根对象
  238.         RootObj.ServerIP = txtSvrIP.Text; //设置服务器IP
  239.         RootObj.ServerPort = Convert.ToInt16(txtSvrPort.Text); //设置服务器端口
  240.     }
  241.     protected void Button1_Click(object sender, EventArgs e)
  242.     {//发送信息
  243.         try
  244.         {
  245.             RootObj.SendNotify(txtReceivers.Text, txtMsgTitle.Text, Convert.ToInt32(txtTime.Text), txtMsgContent.Text); //获取版本信息
  246.             Response.Write("发送成功");
  247.         }
  248.         catch (Exception xe)
  249.         {
  250.             Response.Write(xe.Message.ToString());
  251.         }
  252.     }
  253.     protected void Button2_Click(object sender, EventArgs e)
  254.     {//查询状态
  255.         try
  256.         {
  257.             txtResult.Text = RootObj.QueryUserState(txtUserName.Text); //获取用户状态
  258.         }
  259.         catch (Exception xe)
  260.         {
  261.             Response.Write(xe.Message.ToString());
  262.         }
  263.     }
  264.     protected void Button3_Click(object sender, EventArgs e)
  265.     {
  266.        // 用户登录认证
  267.         //RTXClient.RTXAPIClass ObjApi = new RTXAPIClass();  //创建一个客户端SDK主对象     
  268.         //RTXCAPILib.IRTXCRoot RTXCRoot = (RTXCAPILib.IRTXCRoot)ObjApi.GetObject("KernalRoot"); //通过主对象获取CRoot对象
  269.         //try
  270.         //{
  271.         //    short sResult =RTXCRoot..Login(txtSvrIP.Text,Convert.ToInt16(txtSvrPort.Text),txtUserNa.Text, txtPwd.Text); //用户登录验证
  272.         //    if (0 == sResult)
  273.         //        Response.Write("验证成功");
  274.         //    else
  275.         //        Response.Write("验证失败,用户名或密码不正确");
  276.         //}
  277.         //catch (Exception xe)
  278.         //{
  279.         //    Response.Write(xe.Message.ToString());
  280.         //}
  281.     }
  282.     protected void Button4_Click(object sender, EventArgs e)
  283.     {
  284.         try
  285.         {
  286.             txtResult.Text = RootObj.GetVersion(); //获取版本信息
  287.            // Response.Write(Text);
  288.         }
  289.         catch (Exception xe)
  290.         {
  291.             Response.Write(xe.Message.ToString());
  292.         }
  293.     }
  294.     protected void Button5_Click(object sender, EventArgs e)
  295.     {
  296.         try
  297.         {
  298.             txtResult.Text = RootObj.GetUserRightList(txtUserName.Text); //获取用户权限列表
  299.         }
  300.         catch (Exception xe)
  301.         {
  302.             Response.Write(xe.Message.ToString());
  303.         }
  304.     }
  305. }
  306. 功能四:状态感知
  307. <script language="JScript.Encode" src="js/browinfo.js"></script>                
  308. <script language="JScript.Encode" src="js/rtxint.js"></script>  
  309. 实现该功能的步骤:
  310. 1. 把服务器端安装目录下Webroot目录下的image和js两个文件夹拷进拷贝到您的Web应用工作目录下。
  311. 2. 在Web应用中引用这两个Js文件。
  312. language="JScript.Encode" src="js/browinfo.js"></script> 
  313. language="JScript.Encode" src="js/rtxint.js"></script> 
  314. 3. 嵌入代码,如:
  315. <img align="absbottom" width=16 height=16 src="/images/blank.gif" οnlοad="RAP('share');"
  316. 4. 下载示例页面,把该网页拷贝在服务器端Webroot目录下,把里面的用户名改为您自己的用户名即可演示。

看到留言,从2008年的电脑备份文件中找到当时的demo,提供给CSDN的爱学习的朋友,希望有点启发。

 

 

 附件下载:http://download.csdn.net/source/3225296

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值