通过 Http 发送逻辑

Send logic over Http

我正在尝试通过 http 发送包含函数的 class。 这能实现吗?

它应该像这样工作:

1) 客户联系人 Web.API.
2) Web.API returns class 函数
3) 客户端执行Function.

Class 看起来有点像这样:

 public class UploadTicket
{
    public string url { get; set; }
    public List<Tuple<string, string>> Headers { get; set; }

    public Func<string> SpecialFunction { get; set; }
}

我需要此功能来更改上传网址,方法是在每次发送包裹时附加一个 ID - 但前提是它发送给某些数据提供商,而在其他情况下,必须以其他方式修改上传网址。我需要这样做,这样我就可以使客户端代码尽可能通用。

听起来有点傻,但是是的,你可以,前提是你将源代码发送给客户端,而不是一些预编译的版本(否则它真的是一个巨大的安全漏洞)。只需使用 C# runtime compiler。但这意味着客户端是 C#,这就是它听起来很愚蠢的原因。

这实际上是每个人每天都在使用的常见模式。想一想访问 Web 服务器并获取其中包含 javascript 的页面的 Web 浏览器。同样的事情发生了。浏览器编译 JS 并执行它,即使源是远程生成的。