2

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

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

我有以下问题要问:

  1. 有没有更好的方法来做到这一点/我做错了什么?
4

1 回答 1

3
  1. 方法在纸面上看起来不错,但主要取决于实现。
  2. 尽可能多,取决于机器的能力。操作系统将处理它们。
  3. 只要您做到无懈可击,这并不重要:恶意/格式错误/明显错误的代码被提交:Java 不能造成那么大的损害,但 C/C++ 有点危险。
于 2012-07-26T12:09:15.907 回答