从c# MVC控制器动作中,是否有可能执行gulp任务?

本文关键字:有可能 是否 执行 gulp 任务 MVC 控制器 | 更新日期: 2023-09-27 18:18:11

从一个c# MVC控制器的动作,是否有可能执行一个gulp任务,如果是这样,我将如何去做这件事?

在我的c#应用程序中,我试图检查一个给定的字符串(在表单中提交)是否有效。有几个c# CSS解析器,但我找不到一个可以处理sass (*.scss)。

在我的项目中,我使用一个编译sass并报告任何错误的gulp任务,所以我想知道是否有一种方法我可以利用它在我的c#应用程序中进行验证,即从我的c#应用程序中添加文本输入到。scss文件,获得gulp任务来尝试编译它,如果它通过没有错误,那么我知道sass是有效的。

也许我找错人了,但如果有任何帮助,我将不胜感激。

从c# MVC控制器动作中,是否有可能执行gulp任务?

好的。这里(在你的问题中)有一些事情把我吓坏了,但我认为最简单的总结是:-

给定ASP。. NET MVC Controller,我如何调用-another- .exe过程?

所以假设你仍然想这样做,忽略安全枪和东西(我只是和你一起滚动,这里…)我认为你需要运行一个新的AppDomain,然后在那个应用程序域运行你的exe。如果exe失败,那么您也可以捕获错误消息。

按注释更新

从第一个'ish google结果中获取的随机代码:

try
{
    //Create a new appdoamin for execute my exe in a isolated way.
    AppDomain sandBox = AppDomain.CreateDomain("sandBox");
    try
    {
        //Exe executing with arguments
        sandBox.ExecuteAssembly(".exe file name with path");
    }
    finally
    {
        AppDomain.Unload(sandBox);//destry created appdomain and memory is released.
    }
}
catch (Exception ex)//Any exception that generate from executable can handle
{
    //Logger.log(ex.Message);
} 

所以在这里,您将运行gulp.exe并传入命令行参数,包括sass内容(保存到文件中的内容?)

现在,如果.exe不是。net程序集,那么您可能需要使用Process方法…

像这样…(伪代码)

Process app = new Process();
app.StartInfo.FileName = @"D:/Path to /My/Program to be run.exe";
app.Start();

再次说明-不是测试,但这应该足以让您开始…

请注意 ->运行进程需要服务器上的严格安全权限,因此通常托管服务器(如Azure网站网站等)将所有这些锁定以保护自己。如果你拥有服务器,那就疯狂吧。

最终注意:

  1. 我从未见过或使用过Node.
  2. 我从来没有见过或使用过gulp。