gpt4 book ai didi

应用程序的脚本引擎主机

转载 作者:行者123 更新时间:2023-12-04 07:10:35 24 4
gpt4 key购买 nike

我们有一个应用程序,它在某些时候需要执行“任务”才能完成一些工作。这些任务目前只是命令(阅读:狡猾的 VB 脚本)被触发,然后监视进程的完成或如果它“超时”则中止,但是我们对执行没有足够的控制权。

我想集成一个脚本引擎或脚本主机,使我们能够在我们的应用程序中执行脚本(如果可能的话,在另一个 appdomain 中)并保持对它们的一些控制。我设想我们有遵循类似于以下界面的脚本:

void Initialize();
void Destroy();
void Execute();
void Abort();
int GetProgress();

当然,上面的内容可能不是代码中的内容,但是您明白了……本质上,从我们的应用程序中,我们可以调用 Initialize ,然后 Execute , 投票 GetProgress直到返回值为 100 或其他值,然后最后调用 DestroyAbort然后 Destroy如果我们需要取消或者它超过了超时期限。

脚本需要能够做的主要事情是 AD 查询,并与 Shell 交互(例如,映射网络驱动器或断开连接)。

我已经研究了一些选项来做到这一点 - 我已经实现了一个使用 Boo 作为语言的原型(prototype),并且基本上动态加载脚本以在内存中作为“程序集”进行编译和执行。我喜欢这种工作方式,但我不确定如果不是“众所周知”的语言等,它会被接受的程度如何。

我正在研究的其他选项是 Python (IronPython)、Ruby (IronRuby)、PowerShell,也许还有 VB,但我不确定用 VB 实现的难易程度。

有什么意见、评论、建议甚至资源可以为我指明正确的方向吗?

最佳答案

Lua旨在完全嵌入应用程序中。它是一种非常简洁高效的语言,这并没有什么坏处。

关于应用程序的脚本引擎主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/437808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com