Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Perl连接到.NET远程处理接口_.net_Perl_Remoting - Fatal编程技术网

从Perl连接到.NET远程处理接口

从Perl连接到.NET远程处理接口,.net,perl,remoting,.net,Perl,Remoting,我试图从Perl(ArGoSoft mail server.NET)控制邮件服务器。它为此目的提供的只是一个.NET远程处理接口(请参阅) 我对.NET不是很熟悉,我所有的系统都基于Apache和Perl(有些在Windows上,有些在Linux上)。我需要从Perl控制邮件服务器,以便能够查看、添加或删除域和用户以及其他相关内容。所有这些都可以使用远程处理接口来完成,ArGoSoft Web接口实际上使用远程处理接口,它自然只在IIS上运行 我试图找到一种从Perl与远程接口通信的方法。同样,

我试图从Perl(ArGoSoft mail server.NET)控制邮件服务器。它为此目的提供的只是一个.NET远程处理接口(请参阅)

我对.NET不是很熟悉,我所有的系统都基于Apache和Perl(有些在Windows上,有些在Linux上)。我需要从Perl控制邮件服务器,以便能够查看、添加或删除域和用户以及其他相关内容。所有这些都可以使用远程处理接口来完成,ArGoSoft Web接口实际上使用远程处理接口,它自然只在IIS上运行

我试图找到一种从Perl与远程接口通信的方法。同样,我对.NET不是很熟悉,但似乎是某种使用二进制数据的web服务。如果我尝试从telnet连接到它,我将无法执行任何操作,并且在我开始键入任何内容时立即返回错误

此外,我还使用嗅探器查看Web界面和远程处理界面之间的通信,我得到的50%是二进制数据

所以,我想知道这里是否有人能想出一个可能的解决办法

提前感谢,


Francisco

我认为您唯一合理的解决方案是编写一个.NET包装器,与服务器对话并公开一个Perl程序可以访问的接口。选项将是COM(如果Perl可以做COM…我不知道),HTTP接口或自定义TCP接口

直接与远程处理接口对话将非常困难。您必须为正在传递的.NET对象编写二进制反序列化程序。编写反序列化程序可能比学习足够多的.NET编程(如果您不知道的话)来编写包装器所需的时间要长


可以用.NET支持的语言编写.NET包装器:C,f,VisualBasic,NET,托管C++等。不久前,我尝试在VS2010中创建一个包装器,从邮件服务器引用一个DLL以通过COM公开这些方法,但失败了,消息是“引用的程序集没有安全名称”。我联系了邮件服务器的作者,请他纠正这个问题,他说他会的,但过了很长一段时间,他就是没有。你认为我可以在不引用任何东西的情况下编写包装器吗?你唯一应该有问题的时候是,如果你试图创建一个强命名的程序集。如果您正在构建一个内部工具,那么这不会给您带来任何麻烦。请看。如果我记得清楚的话,问题是只有已签名的程序集才能使COM可见,并且为了对其进行签名,所有引用的程序集必须具有强名称。我会在不签字的情况下再试一次,也许我遗漏了什么。可能就是这样。如果是这样的话,您总是可以构建一个套接字接口。可能更容易。我刚刚发现,通过使用ArGoSoft邮件服务器的Web邮件(必须在IIS上运行),我可以访问一个WSDL接口,该接口基本上是远程处理接口的代理,因此我想我将使用Perl中的SOAP来执行所有操作。无论如何,谢谢你的帮助。:-)