【问题标题】:Compiling and Executing external code in C# [closed]在 C# 中编译和执行外部代码 [关闭]
【发布时间】:2012-07-26 11:54:18
【问题描述】:

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

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

我有以下问题要问:

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

【问题讨论】:

  • 我意识到这个问题可能会引起争论和讨论。我已进一步编辑问题以删除此类文本。

标签: c# windows linux multithreading sandbox


【解决方案1】:
  1. 方法在纸面上看起来不错,但主要取决于实现。
  2. 任意数量,取决于机器的能力。操作系统会处理它们。
  3. 只要您做到无懈可击,这并不重要:恶意/畸形/明显错误的代码提交:Java 不能造成那么大的损害,但 C/C++ 有点危险。

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 2020-08-22
    相关资源
    最近更新 更多