private IRazorView CreateRazorPageInstance(IRequest httpReq, IResponse httpRes, object dto, RazorPage razorPage) { viewManager.EnsureCompiled(razorPage); //don't proceed any further, the background compiler found there was a problem compiling the page, so throw instead var pageCompileEx = razorPage.CompileException; if (pageCompileEx != null) { if (Text.Env.IsMono) { //Additional debug info Working around not displaying default exception in IHttpAsyncHandler var errors = pageCompileEx.Results.Errors; for (var i = 0; i < errors.Count; i++) { var error = errors[i]; Log.Debug("{0} Line: {1}:{2}:".Fmt(error.FileName, error.Line, error.Column)); Log.Debug("{0}: {1}".Fmt(error.ErrorNumber, error.ErrorText)); } } throw pageCompileEx; } //else, EnsureCompiled() ensures we have a page type to work with so, create an instance of the page var page = (IRazorView)razorPage.ActivateInstance(); page.Init(viewEngine: this, httpReq: httpReq, httpRes: httpRes); //deserialize the model. PrepareAndSetModel(page, httpReq, dto); return(page); }
private IRazorView CreateRazorPageInstance(IHttpRequest httpReq, IHttpResponse httpRes, object dto, RazorPage razorPage) { viewManager.EnsureCompiled(razorPage); //don't proceed any further, the background compiler found there was a problem compiling the page, so throw instead if (razorPage.CompileException != null) { throw razorPage.CompileException; } //else, EnsureCompiled() ensures we have a page type to work with so, create an instance of the page var page = (IRazorView)razorPage.ActivateInstance(); page.Init(viewEngine: this, httpReq: httpReq, httpRes: httpRes); //deserialize the model. PrepareAndSetModel(page, httpReq, dto); return(page); }