C# 在ASP.NET MVC控制器中使用带有注入依赖项的脚本
我正在尝试向ASP.NET MVC应用程序添加脚本支持。我有一个C# 在ASP.NET MVC控制器中使用带有注入依赖项的脚本,c#,asp.net,asp.net-mvc,roslyn,scriptcs,C#,Asp.net,Asp.net Mvc,Roslyn,Scriptcs,我正在尝试向ASP.NET MVC应用程序添加脚本支持。我有一个ScriptServices灵感来源于 在我的控制器中,我有一个简单的工作原理,如下所示 var host = new ScriptCsHost(); host.Root.Executor.Initialize(new[] { "System.Web"}, new IScriptPack[0]); var code = "var x=5; x==5"; var result = host.Root.Executor.Execut
ScriptServices
灵感来源于
在我的控制器中,我有一个简单的工作原理,如下所示
var host = new ScriptCsHost();
host.Root.Executor.Initialize(new[] { "System.Web"}, new IScriptPack[0]);
var code = "var x=5; x==5";
var result = host.Root.Executor.ExecuteScript(code, new string[0]);
host.Root.Executor.Terminate();
return Content(result.ReturnValue.ToString());
这个很好用。我希望执行的
code
能够使用注入控制器的一些存储库(例如private readonly customerpositionory\u customerRepository
)。有没有办法做到这一点?使用“普通”Roslyn而不是脚本解决。在Roslyn中,您可以向会话添加任何对象。根据我收集的信息,scriptcs
允许您输入一个代码字符串,该字符串被编译到单独的程序集中并运行。为了从调用该代码的代码传递对该代码的对象引用,您需要在运行的代码和生成的代码之间进行一些互操作,或者ScriptCsHost
需要允许在启动时注入任意变量。scriptcs
有文档吗?你能给出一个你需要的代码示例吗?如果你使用这个脚本构建,你也可以。这是核心,看公关