使用ASP.NET MVC Controller中的Scriptcs注入依赖项

时间:2013-11-06 09:39:35

标签: c# asp.net asp.net-mvc roslyn scriptcs

我正在尝试将Scriptcs支持添加到ASP.NET MVC应用程序中。我的ScriptServices受到https://github.com/filipw/Glimpse.ScriptCs/blob/master/Glimpse.ScriptCs/ScriptCsHost.cs的启发。

在我的控制器中,我有一个看起来像这样的工作简单

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 CustomerRpository _customerRepository)。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

解决使用“普通”Roslyn而不是Scriptcs。在Roslyn中,您可以向会话添加任何对象。