我想在我的应用程序中运行javascript/Python/Ruby.
我有一个应用程序,根据用户的定义自动创建进程.该过程在C#中生成.我想让高级用户在预定义的位置注入脚本.这些脚本应该从C#进程运行.例如,创建的进程将具有一些活动,并且在中间应该运行脚本,然后该进程像以前一样继续.是否有从C#运行这些脚本的机制?
基本上,您有两个问题:如何在生成的代码中定义注入点,以及如何从那里运行python/ruby/whatev脚本.
根据您生成过程的方式,一种可能的解决方案是为每个可能的注入点添加一个函数.该函数将检查用户是否已将任何脚本与给定点相关联,如果是,则通过调用IronPython/IronRuby(带有可选的给定参数)来运行脚本.
缺点包括:从脚本到创建过程的可访问性有限(基本上,只能访问作为参数传递的变量); 以及实现限制(IronPython的当前版本省略了几个基本的系统功能).