2012-07-26 75 views
2

我正在用C#编写一个应用程序,它将编译和执行用C,C++或Java编写的外部代码。在这方面,我有几个问题要问及以下是我迄今所做的研究:以C#编译和执行外部代码

  1. 将有将承载将收到用户提交的代码请求的应用程序的服务器。这些请求将在特定的套接字上发送。
  2. 将有一个接收器线程将列队所有这样的请求。
  3. 将有消费者线程将从队列中出队并编译和执行程序(提交的代码)。编译和执行时,将从命令行使用适当的编译器和加载器,该命令将作为C#应用程序的进程执行。
  4. 截至目前,可以假定安全问题,如沙箱,不公开服务器等已被/将在以后考虑。我主要关注这个执行逻辑。

我有以下问题要问:

  1. 还能有这样做/我是不是做错什么更好的办法?
+0

我意识到这个问题可能会引发争论和讨论。我已经进一步编辑了这个问题以删除这些文本。 – Cik 2012-08-09 19:15:00

回答

3
  1. 方法在纸上看起来不错,但它主要取决于实施。
  2. 尽可能多的,直到机器的能力。 OS将处理它们。
  3. 只要你让它气密,它并不重要:恶意/格式错误/明显错误的代码将提交:Java不能造成那么大的破坏,但C/C++有点危险。