如何使用EdgeJs在现有的.Net MVC应用程序中集成NodeJ?

时间:2014-11-04 13:35:00

标签: c# asp.net-mvc node.js

任何人都可以建议在.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());
    }
}

1 个答案:

答案 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专业化