非托管语言与.NET服务端交互及其生成方法、装置、系统制造方法及图纸

技术编号:4248328 阅读:274 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种非托管语言与.NET服务端交互及其生成方法、装置、系统,涉及计算机技术领域,解决了现有技术中非托管语言不能与.NET服务端进行通信的问题。本发明专利技术实施例将客户端发起的非托管语言访问请求转换为远程方法调用规范格式;将远程方法调用规范格式的访问请求发送到.NET服务端;接收.NET服务端返回的远程方法调用规范格式的运行结果;对远程方法调用规范格式的运行结果进行解析得到返回值;将所述返回值返回给所述客户端。本发明专利技术实施例主要用在各种采用非托管语言的客户端中,用来通过该客户端顺利访问.NET服务端。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及计算机语言中非托管语言与.NET服务端交互方法、装置及系统,以及该交互装置对应的生成方法和装置。
技术介绍
.NET是基于互联网的跨语言软件开发平台,顺应了当今软件工业分布式计算、面向組件、企业级应用、软件服务化和以Web为中心等大趋势。.NET并非开发语言,但是.NET开发平台可以支持多种开发语言,如C并语言、C++、 VisualBasic、 Jscript等。.NET卡是基于.NET技术平台的虚拟机,能够模拟运行各种指令,在.NET卡中含有并可以运行.NET程序,并且.NET卡上运行的软件对运行环境没有特殊要求。.NET开发平台所支持的开发语言一般是由公共语言运行库(CLR)环境执行的代码,这种代码称为托管代码(managed code)。应用托管代码所开发出的应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。Microsoft.NET Remoting (Microsoft.NET远禾呈方法调用^见范)4是供一种允许对象通过应用程序域与另 一对象进行交互的框架,并且Microsoft.NETRemoting提供了一个可扩展的框架,它可以选择不同的传输机制(HTTP和TCP是内置的)、不同的编码方式、安全设置(IIS或SSL),同时提供多种服务,包括激活和生存期支持。例如,.NET服务端是可以运行.NET程序的服务端,通过C朽吾言开发的应用程序需要访问.NET服务端时,可以采用CH吾言规范提供的C/S (Client/Server,客户机/服务器)模式进行的远程调用。但是在对.NET服务端进行远程调用时,.NET服务端中的服务只能通过Ctf的Remoting (远程方法调用规范)机制和传统APDU的方式访问,这种调用模式需要所采用的语 能够支持类和程序集。因此,在对.NET服务端进行远程调用的应用过程中,专利技术人发现现有技术中至少存在如下问题对于在CLR环境外部,由操作系统直接执行的非托管代码(Unmanaged Code)而言,由于C语言等非4乇管语言不支持类和程序集的才既念,调用.NET服务端时存在种种局限,给.NET服务端的推广和发展带来了;f艮大的局限性。
技术实现思路
本专利技术提供一种非托管语言与.NET服务端交互及其生成方法、装置、系统,使得非托管语言能够与.NET服务端进行交互实现远程调用。为达到上述目的,本专利技术采用如下技术方案一种非托管语言与.NET服务端交互方法,包括将客户端发起的非托管语言访问请求转换为远程方法调用规范格式;将远程方法调用规范格式的访问请求发送到.NET服务端;接收.NET服务端返回的远程方法调用规范格式的运行结果;对远程方法调用规范格式的运行结果进行解析得到返回值;将所述返回值返回》合所述客户端。一种非托管语言与.NET服务端交互装置,包括转换单元,用于将客户端发起的非托管语言访问请求转换为远程方法调用规范格式;发送单元,用于将远程方法调用规范格式的访问请求发送到.NET服务端;接收单元,用于接收.NET服务端返回的远程方法调用规范格式的运行结果;解析单元,用于对远程方法调用规范格式的运行结果进行解析得到返回值;返回单元,用于将所述返回值返回给所述客户端。一种非托管语言与.NET服务端交互系统,包括客户端、.NET服务端;还包括非托管语言与.NET服务端交互装置;所述客户端用于向所述.NET服务端发起的非托管语言访问请求;所述非托管语言与.NET服务端交互装置用于将客户端发起的非托管语言访问请求转换为远程方法调用规范格式,并将远程方法调用规范格式的访问请求6发送到.NET服务端;所述.NET服务端用于运行所述访问请求;所述非托管语言与.NET服务端交互装置还用于接收.NET服务端返回的远程方法调用规范格式的运行结果;对远程方法调用规范格式的运行结果进行解析得到返回值;将所述返回值返回给所述客户端。一种非托管语言与.NET服务端交互装置的生成方法,包括获取被下载到.NET服务端中的可执行文件的远程调用信息;根据所述远程调用信息中的公钥标识、命名空间和远程类类名生成非托管语言对应的函数声明文件;根据生成的所述非托管语言对应的函数声明文件中的函数名生成非托管语言对应的函数定义文件;将预先定义的中转函数加入所述函数定义文件;所述中转函数用于将客户端发起的非托管语言访问请求转换为远程方法调用规范格式,并将远程方法调用规范格式的访问请求发送到.NET服务端;接收.NET服务端返回的远程方法调用规范格式的运行结果,并对远程方法调用规范格式的运行结果进行解析得到返回值;将所述返回值返回给所述客户端。一种非托管语言与.NET服务端交互装置的生成装置,包括获取单元,用于获取被下载到.NET服务端中的可执行文件的远程调用信息;第一生成单元,用于根据所述远程调用信息中的公钥标识、命名空间和远程类类名生成非托管语言对应的函数声明文件;第二生成单元,用于根据所述第一生成单元生成的非托管语言对应的函数声明文件中的函数名生成非托管语言对应的函数定义文件;加入单元,用于将预先定义的中转函数加入所述函数定义文件;所述中转函数用于将客户端发起的非托管语言访问请求转换为远程方法调用规范格式,并将远程方法调用规范格式的访问请求发送到.NET服务端;接收.NET服务端返回的远程方法调用规范格式的运行结果,并对远程方法调用规范格式的运行结果进行解析得到返回值;将所述返回值返回给所述客户端。本专利技术提供的非托管语言与.NET服务端交互及其生成方法、装置、系统,通过提取.NET服务端中可执行文件的远程调用信息,生成非托管语言的函数声明文件和函数定义文件,并在函数定义文件中写入中转函数。中转函数主要用来将客户端发起的非托管语言访问请求转换为远程方法调用规范格式,并将远程方法调用规范格式的访问请求发送到.NET服务端;中转函数在接收.NET服务端返回的远程方法调用规范格式的运行结果后,对远程方法调用规范格式的运行结果进行解析得到返回值,并将所述返回值返回给所述客户端。在非托管语言需要访问.NET服务端时,需要将上述函数声明文件和函数定义文件写入非托管语言的工程,以便在运行非托管语言程序时,能够通过中转函数的功能调用.NET服务端的服务,使得非托管语言能够与.NET服务端进行交互实现远程调用,解决了非托管语言程序调用.NET服务端存在局限性的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例1中非托管语言与.NET服务端交互方法流程图;图2为本专利技术实施例1中非托管语言与.NET服务端交互装置框图;图3为本专利技术实施例1中非托管语言与.NET服务端交互系统框图;图4为本专利技术实施例1中非托管语言与.NET服务端交互装置的生成方法流程图5为本专利技术实施例1中非托管语言与.NET服务端交互装置的生成装置框图6为本专利技术实施例2中非托管语言与.NET服务端交互具本文档来自技高网
...

【技术保护点】
一种非托管语言与.NET服务端交互方法,其特征在于,包括:将客户端发起的非托管语言访问请求转换为远程方法调用规范格式;将远程方法调用规范格式的访问请求发送到.NET服务端;接收.NET服务端返回的远程方法调用规范格式的运行结果;对远程方法调用规范格式的运行结果进行解析得到返回值;将所述返回值返回给所述客户端。

【技术特征摘要】
1、一种非托管语言与.NET服务端交互方法,其特征在于,包括将客户端发起的非托管语言访问请求转换为远程方法调用规范格式;将远程方法调用规范格式的访问请求发送到.NET服务端;接收.NET服务端返回的远程方法调用规范格式的运行结果;对远程方法调用规范格式的运行结果进行解析得到返回值;将所述返回值返回给所述客户端。2、 根据权利要求1所述的非托管语言与.NET服务端交互方法,其特征在于, 所述访问请求中包括访问参数。3、 根据权利要求1所述的非托管语言与.NET服务端交互方法,其特征在于, 在将客户端发起的非托管语言访问请求转换为远程方法调用规范格式之前,该 方法还包4舌对所述客户端进行身份验证;所述将客户端发起的非托管语言访问请求转换为远程方法调用规范格式 为在所述客户端通过身份验证之后,将客户端发起的非托管语言访问请求转 换为远程方法调用规范格式。4、 一种非托管语言与.NET服务端交互装置,其特征在于,包括 转换单元,用于将客户端发起的非托管语言访问请求转换为远程方法调用规范格式;发送单元,用于将远程方法调用规范格式的访问请求发送到.NET服务端; 接收单元,用于接收.NET服务端返回的远程方法调用规范格式的运行结果; 解析单元,用于对远程方法调用规范格式的运行结果进行解析得到返回值; 返回单元,用于将所述返回值返回给所述客户端。5、 根据权利要求4所述的非托管语言与.NET服务端交互装置,其特征在于, 还包括验证单元,用于对所述客户端进行身^f分验证;所述转换单元在客户端通过身份验证之后,将客户端发起的非托管语言访 问请求转换为远程方法调用规范格式。6、 一种非托管语言与.NET服务端交互系统,包括客户端、.NET服务端; 其特征在于,还包括非托管语言与.NET服务端交互装置;所述客户端用于向所述.NET服务端发起非托管语言访问请求; 所述非托管语言与.NET服务端交互装置用于将客户端发起的非托管语言访问请求转换为远程方法调用规范格式,并将远程方法调用规范格式的访问请求发送到.NET服务端;所述.NET服务端用于运行所述访问请求;所述非托管语言与.NET服务端交互装置还用于接收.NET服务端返回的远程 方法调用规范格式的运行结果;对远程方法调用规范格式的运行结果进行解析 得到返回值;将所述返回值返回给所述客户端。7、 根据权利要求6所述的非托管语言与.NET服务端交互系统,其特征在于, 所述非托管语言与.NET服务端交互装置还用于对所述客户端进行身份验证。8、 根据权利要求6所述的非托管语言与.NET服务端交互系统,其特征在于, 所述非托管语言访问请求所在文件引用了所述...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:北京飞天诚信科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1