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#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

SpringBoot集成WebService(wsdl)实践

《SpringBoot集成WebService(wsdl)实践》文章介绍了SpringBoot项目中通过缓存IWebService接口实现类的泛型入参类型,减少反射调用提升性能的实现方案,包含依赖配置... 目录pom.XML创建入口ApplicationContextUtils.JavaJacksonUt

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

C#实现高性能拍照与水印添加功能完整方案

《C#实现高性能拍照与水印添加功能完整方案》在工业检测、质量追溯等应用场景中,经常需要对产品进行拍照并添加相关信息水印,本文将详细介绍如何使用C#实现一个高性能的拍照和水印添加功能,包含完整的代码实现... 目录1. 概述2. 功能架构设计3. 核心代码实现python3.1 主拍照方法3.2 安全HBIT