Freigeben über


Calling Node.js from ASP.NET Core

Here are the steps to invoke Node.js from ASP.NET Core Website

  1. Add below line in the ConfiguraServices() in Startup.cs

    public
    void
    ConfigureServices(IServiceCollection services)

    {

        services.AddMvc();

       services.AddNodeServices();

    }

  2. Add constructor in the Controller

        public
    class
    HomeController : Controller

        {

            INodeServices
    nodeServices;

            public
    HomeController(INodeServices nodeServices)

        {

                this.nodeServices =
    nodeServices;

            }

  3. Call NodeServices as shown below

    public
    async  Task<IActionResult>
    About()

    {

        var
    msg = await
    nodeServices.InvokeAsync<string>("./hello.js",
    1);

     

        ViewData["Message"] = msg;

        return View();

    }

  4. Add following code to js file

    module.exports = function (callback)

    {

        var
    message = 'Hello
    world';

        callback(null, message);

    };

Comments

  • Anonymous
    November 07, 2017
    what in case you got : Microsoft.AspNetCore.NodeServices.HostingModels.NodeInvocationException","Message":"Attempt to connect to Node timed out after 60000mshttps://stackoverflow.com/questions/47172434/azure-react-js-pdf-microsoft-aspnetcore-nodeservices-hostingmodels-nodeinvoc