任何人都可以建议在.Net MVC应用程序中集成NodeJ的另一种方法吗?我现在使用以下代码:
public class Startup
{
public async Task<object> Invoke(dynamic input)
{
DepartmentRep person = new DepartmentRep(new MvcAppUsingEdgeJSMongoDbContext());
var department= person.GetAllDepartments();
//var department = "hello";
return department;
}
}
public class DepartmentController : Controller
{
DepartmentRepository departmentRepository = new DepartmentRepository(new MvcAppUsingEdgeJSMongoDbContext());
string connectionString = ConfigurationManager.AppSettings["connectionString"].ToString();
public ViewResult Index()
{
// var clrMethod = Edge.Func("DepartmentRep.cs");
var getData = Edge.Func("./DepartmentRep.dll");
// return View(clrMethod);
return View(departmentRepository.GetAllDepartments());
}
}
答案 0 :(得分:0)
在我看来,您可能对EdgeJs用例有误解。 你的启动/调用类/签名是从Node(JavaScript)调用的, 从您显示的代码看起来,您正在从.Net
加载.Net此外,正如Invoke签名所示,它应该是异步的。
如果要使用.Net端的节点。您应该检查项目文档 scripting-nodejs-from-clr向下。
var func = Edge.Func(@"
return function (data, callback) {
callback(null, 'Node.js welcomes ' + data);
}
");
正如你所看到的,包装的代码是Javascript,这次运行在.Net中更具体地运行在Node中。 完美的用例IMMO是Socket-Server,即Node比.Net(IMMO再次)更好的东西
与NodeJs的.Net Ado Sql Server访问形成鲜明对比,NodeJs上下文的.Net专业化