// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime applicationLifetime) { loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseBrowserLink(); } else { app.UseExceptionHandler("/Home/Error"); } // Initialise ReactJS.NET. Must be before static files. app.UseReact(config => { // If you want to use server-side rendering of React components, // add all the necessary JavaScript files here. This includes // your components as well as all of their dependencies. // See http://reactjs.net/ for more information. Example: config .AddScript("~/js/remarkable.min.js") .AddScript("~/js/tutorial.jsx") .AddScript("~/js/details.jsx") .SetJsonSerializerSettings(new JsonSerializerSettings { StringEscapeHandling = StringEscapeHandling.EscapeHtml, ContractResolver = new CamelCasePropertyNamesContractResolver() }); // If you use an external build too (for example, Babel, Webpack, // Browserify or Gulp), you can improve performance by disabling // ReactJS.NET's version of Babel and loading the pre-transpiled // scripts. Example: //config // .SetLoadBabel(false) // .AddScriptWithoutTransform("~/Scripts/bundle.server.js"); }); app.UseStaticFiles(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); REngineClass.Initialise(); applicationLifetime.ApplicationStopping.Register(OnShutDown); }
//not yet sure if this method is being called. private void OnShutDown() { REngineClass.DestroyEngine(); }