gpt4 book ai didi

c# - 远程执行代码 - Lambdas...静态方法....等。 C# 的 eval()?

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:53 24 4
gpt4 key购买 nike

这就是概念。我正在尝试为 CouchDB 编写一个 C# 后端(继续阅读,这与 CouchDB 几乎没有关系)。

基本思路:

1) 数据库驱动程序将任意字符串上传到数据库服务器。

2) 数据库驱动程序告诉数据库服务器运行代码并生成 View

3) 数据库服务器加载我的 C# 后端,将输入字符串交给它

4) DB Server将函数交给C#后端

5) DB Server将C#后端数据交给执行函数

6) C# Backend 执行代码并将结果数据发送到 DB Server

7) DB Server 存储或以其他方式排序并将结果发送回 DB Driver

所以我遇到的问题是远程代码执行。我所有的模型都是 C# 对象。所以如果能在前端写代码,然后把代码传到后端去执行,那就太好了。无需复制 DLL 等。目前在 CouchDB 中,这种查询语言是 JavaScript,因此只需将代码复制到字符串中就非常简单。

C# 中有这样的选项吗?我可以获得函数的字符串版本吗?我是否应该创建一个外部服务器来托管这些 DLL 程序集并将它们提供给 CouchDB 后端?我应该在前端编译它们,并将 .cs 文件作为资源嵌入吗?在这一点上,我只是在集思广益。欢迎任何想法/想法/问题。

最佳答案

您能否使用表达式树 (System.Linq.Expressions) 实现此目的?

也许有一些方法可以将序列化的表达式树传递到后端,在服务器端将其编译成 lambda/Func<> oin 然后执行它?

除了 Linq 发布时的一些好奇心研究外,没有玩过它们,但这可能会有所帮助。

关于c# - 远程执行代码 - Lambdas...静态方法....等。 C# 的 eval()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2074018/

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