C# RTX的二次开发(Web服务)WebService 给某人发送消息提醒

本文主要是介绍C# RTX的二次开发(Web服务)WebService 给某人发送消息提醒,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这两天研究了一下rtx二次开发,用WebService接口实现rtx方法的调用。服务器系统是Windows Server 2003,开发环境使用的C#2010,RTX版本为2013(8.3.612.1)

RTX管理端、RTX客户端、SDK安装包都可以到官网上下载到。为避免我这个忘性大的人过两天又忘了,我在这里整理记录下来,也供大家参考参考。本人拙见,欢迎指正。

1、我这边的rtx服务端是安装在服务器上,rtx有一个限制,如果调用rtx接口需要修改rtx服务端的两个文件AppConnConfig.xml、SDKProperty.xml,


修改AppConnConfig.xml

<?xml version="1.0"?>
<Property>
<APIClient>
<IPLimit Enabled="1">
<IP>127.0.0.1</IP>
                <IP>开发机器的IP(192.168.168.xxx)</IP>
</IPLimit>
</APIClient>
</Property>


修改SDKProperty.xml

<?xml version="1.0"?>

<Property>
<APIClient>
<IPLimit Enabled="1">
<IP>127.0.0.1</IP>
                <IP>开发机器的IP(192.168.168.xxx)</IP>
</IPLimit>
</APIClient>
<sdkhttp>
<IPLimit Enabled="1">
</IPLimit>
</sdkhttp>
</Property>


因为我的应用程序中需要调用RTX接口给其他人发消息,所以为了方便,不用添加多个IP地址,我选择用WebService调用RTX方法,在用应用程序去调用WebService接口。这样,仅需要添加WebService 接口所在机器的IP地址,就能实现我的目的。


2.写开发程序过程:

需要注意的是

1.开发机器需要安装服务端的SDK程序,安装后目录为RTXSSDK,这里边有我们需要引用的Interop.RTXSAPILib.dll文件,有了它才能实现与RTX服务器的通信。

2.我也遇到过如下错误:



如果写的是窗体程序,需要设置平台为32位,在项目-属性-生成-目标平台-选择x86。

如果写的是WebService,需要在IIS的应用程序池中的默认设置双击,启用32位应用程序选择true。

此处附上我写的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using RTXSAPILib;
using System.Data;
using System.Configuration;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.Services.Protocols;


/// <summary>
///WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {


    public WebService () {


        //如果使用设计的组件,请取消注释以下行 
        //InitializeComponent(); 
    }


    public Authentication identity;
    [System.Web.Services.Protocols.SoapHeader("identity")]


    [WebMethod(Description = "RTX发送消息")]
    public string sendMessage(String Ip, short Iport, Authentication identity, string receiverAccount, string title, string holdtime, string content)
    {
        if(identity.ValideUser(identity.UserName,identity.Password))
        {


        string retval;
        try
        {
        //初始化服务器属性
        RTXSAPILib.IRTXSAPIRootObj RootObj;
        RootObj = new RTXSAPIRootObj();
        //创建根对象
        RootObj.ServerIP = Ip;
        RootObj.ServerPort = Iport; //设置服务器端口


        
            RootObj.SendNotify(receiverAccount, title, 0, content); //获取版本信息
            retval = "1";
            return retval;
        }
        catch (Exception ex)
        {
            retval = ex.Message;
            return retval;
        }
        }
        else
         return "您没有权限访问该网站!";
       
    }
    
}


public class Authentication : SoapHeader
{
    public Authentication()
    { 
    
    }
    public string UserName;
    public string Password;
    public bool ValideUser(string in_UserName, string in_PassWord)
    {
        if ((in_UserName == "user") && (in_PassWord == "666666"))
            return true;
        else
            return false;
    }
}


这篇关于C# RTX的二次开发(Web服务)WebService 给某人发送消息提醒的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/504678

相关文章

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

C#文件复制异常:"未能找到文件"的解决方案与预防措施

《C#文件复制异常:未能找到文件的解决方案与预防措施》在C#开发中,文件操作是基础中的基础,但有时最基础的File.Copy()方法也会抛出令人困惑的异常,当targetFilePath设置为D:2... 目录一个看似简单的文件操作问题问题重现与错误分析错误代码示例错误信息根本原因分析全面解决方案1. 确保

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环