从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是有效的。
也许我找错人了,但如果有任何帮助,我将不胜感激。
好的。这里(在你的问题中)有一些事情把我吓坏了,但我认为最简单的总结是:-
给定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网站网站等)将所有这些锁定以保护自己。如果你拥有服务器,那就疯狂吧。
最终注意:- 我从未见过或使用过Node.
- 我从来没有见过或使用过gulp。