C#中的远程过程调用

0 投票
1 回答
817 浏览
提问于 2025-04-17 02:08

我其实对这类工作还很陌生。我正在用C#在VS2010里编写我的应用程序。我有一个水晶报表,它运行得很好,主要是通过一些XML数据来填充的。这些XML数据来自另一台机器上用Python写的其他应用程序。

那个Python脚本会生成一些数据,然后把这些数据放到内存流里。我需要读取这个内存流,并写出我的XML,这个XML用来填充我的水晶报表。所以我的主管希望我使用远程过程调用。

我之前从来没有做过远程过程调用。不过经过一些研究和了解,我觉得我主要需要开发一个网页服务或者WCF服务。我不知道该怎么做。我们打算使用HTTP协议。

所以,事情应该是这样运作的。我给他们我的服务的URL,他们就会调用这个服务,而我的服务应该尝试读取他们放在内存流里的数据。读取完数据后,我需要用其中一部分数据来写我的XML,这个XML会用来填充我的水晶报表。

另外一部分数据(除了用来写XML的数据)应该发送到SQL服务器上的数据库。这就是我的完整问题定义。我需要一些想法和链接,帮助我解决这个问题。

1 个回答

0

正如约翰所说,如果事情紧急,你来得有点晚,而且你的描述也有点模糊。其实有很多种RPC(远程过程调用)技术,选择哪种要看具体情况。不过,考虑到你似乎只是想交换一些XML数据,其实你不需要复杂的RPC实现。你可以用几行代码在Python里写一个HTTP服务器。如果你想要它更稳定一点,可以看看Twisted这个库。然后就可以用纯HTML和WebClient类来处理。这不是完美的解决方案,但对我来说已经多次有效。而且你说事情紧急嘛!;-)

撰写回答