如何将代码(本例中为一个类)发送到服务器/程序并接收输出

时间:2011-02-17 15:27:01

标签: c# interprocess

情况如下:

我有一个庞大的数据集,我需要快速访问。这是一个财务数据集,所以基本上它的设置方式是,在每个时间点,你有数千个股票的数据。现在,将这些数据加载到程序中需要一段时间(20-40秒),我希望每次在代码中进行更改时都不必这样做。

基本上,我有一个想法,我想知道它是否有意义/是否是最佳的。我正在考虑设置某种加载了所有数据的服务器和所有对象定义,然后从第二个程序/客户端,我想向服务器发送一个预定义类型的类(策略类),让服务器运行代码,然后让服务器向我发回测试结果。

我正在创建这种情况下的交易策略,所以我有一个抽象类来定义“策略”需要什么。我有一个市场模拟器,每当日期变化时调用派生的“策略”,然后策略购买或卖出股票,然后将策略的利润存储在某些结果对象中。所以我希望能够对策略部分进行编码,发送它并接收结果部分。我想避免每次更改策略对象中的params或原始代码时加载所有数据。

我希望这对某人有意义,如果不是很清楚,我很抱歉。如果可能,请告诉我,然后,我将如何进行Google搜索?我甚至不知道在这里搜索什么。

2 个答案:

答案 0 :(得分:4)

我定义了一个接口,服务器将使用该接口来调用您的策略,然后在单独的程序集中实现每个策略。

然后,服务器将每个程序集加载到单独的AppDomain中并在那里执行。这将为服务器进程提供一些防范策略实现中的错误的保护,但更重要的是它将允许它卸载程序集。

答案 1 :(得分:0)

这听起来像是一场潜在的安全噩梦,但如果这就是你想要的......

考虑将序列化工作流发送到服务器以供执行。那只是一块XML。