public RazorViewToStringRenderer(IRazorViewEngine viewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider) { _viewEngine = viewEngine; _tempDataProvider = tempDataProvider; _serviceProvider = serviceProvider; }
/// <summary> /// Initializes a new instance of <see cref="RazorView"/> /// </summary> /// <param name="viewEngine">The <see cref="IRazorViewEngine"/> used to locate Layout pages.</param> /// <param name="pageActivator">The <see cref="IRazorPageActivator"/> used to activate pages.</param> /// <param name="viewStartProvider">The <see cref="IViewStartProvider"/> used for discovery of _ViewStart /// <param name="razorPage">The <see cref="IRazorPage"/> instance to execute.</param> /// <param name="isPartial">Determines if the view is to be executed as a partial.</param> /// pages</param> public RazorView(IRazorViewEngine viewEngine, IViewStartProvider viewStartProvider, IRazorPage razorPage, bool isPartial) { _viewEngine = viewEngine; _viewStartProvider = viewStartProvider; RazorPage = razorPage; IsPartial = isPartial; }
/// <summary> /// Initializes a new instance of <see cref="RazorView"/> /// </summary> /// <param name="viewEngine">The <see cref="IRazorViewEngine"/> used to locate Layout pages.</param> /// <param name="pageActivator">The <see cref="IRazorPageActivator"/> used to activate pages.</param> /// <param name="viewStartProvider">The <see cref="IViewStartProvider"/> used for discovery of _ViewStart /// <param name="razorPage">The <see cref="IRazorPage"/> instance to execute.</param> /// <param name="htmlEncoder">The HTML encoder.</param> /// <param name="isPartial">Determines if the view is to be executed as a partial.</param> /// pages</param> public RazorView( IRazorViewEngine viewEngine, IRazorPageActivator pageActivator, IViewStartProvider viewStartProvider, IRazorPage razorPage, IHtmlEncoder htmlEncoder, bool isPartial) { _viewEngine = viewEngine; _pageActivator = pageActivator; _viewStartProvider = viewStartProvider; RazorPage = razorPage; _htmlEncoder = htmlEncoder; IsPartial = isPartial; }
public TenantLayoutSelector( IRazorViewEngine viewEngine, ISiteResolver siteResolver, IOptions<LayoutSelectorOptions> layoutOptionsAccesor, ILogger<TenantLayoutSelector> logger) { if (viewEngine == null) { throw new ArgumentNullException(nameof(viewEngine)); } if (siteResolver == null) { throw new ArgumentNullException(nameof(siteResolver)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (layoutOptionsAccesor == null) { throw new ArgumentNullException(nameof(layoutOptionsAccesor)); } this.viewEngine = viewEngine; this.siteResolver = siteResolver; options = layoutOptionsAccesor.Value; log = logger; }
public TenantLayoutSelector( IRazorViewEngine viewEngine, SiteSettings currentSite, IOptions<LayoutSelectorOptions> layoutOptionsAccesor, ILogger<TenantLayoutSelector> logger) { if (viewEngine == null) { throw new ArgumentNullException(nameof(viewEngine)); } if (currentSite == null) { throw new ArgumentNullException(nameof(currentSite)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (layoutOptionsAccesor == null) { throw new ArgumentNullException(nameof(layoutOptionsAccesor)); } this.viewEngine = viewEngine; site = currentSite; options = layoutOptionsAccesor.Value; log = logger; }
/// <summary> /// Initializes a new instance of <see cref="RazorView"/> /// </summary> /// <param name="viewEngine">The <see cref="IRazorViewEngine"/> used to locate Layout pages.</param> /// <param name="pageActivator">The <see cref="IRazorPageActivator"/> used to activate pages.</param> /// <param name="viewStartPages">The sequence of <see cref="IRazorPage" /> instances executed as _ViewStarts. /// </param> /// <param name="razorPage">The <see cref="IRazorPage"/> instance to execute.</param> /// <param name="htmlEncoder">The HTML encoder.</param> public RazorView( IRazorViewEngine viewEngine, IRazorPageActivator pageActivator, IReadOnlyList<IRazorPage> viewStartPages, IRazorPage razorPage, HtmlEncoder htmlEncoder) { if (viewEngine == null) { throw new ArgumentNullException(nameof(viewEngine)); } if (pageActivator == null) { throw new ArgumentNullException(nameof(pageActivator)); } if (viewStartPages == null) { throw new ArgumentNullException(nameof(viewStartPages)); } if (razorPage == null) { throw new ArgumentNullException(nameof(razorPage)); } if (htmlEncoder == null) { throw new ArgumentNullException(nameof(htmlEncoder)); } _viewEngine = viewEngine; _pageActivator = pageActivator; ViewStartPages = viewStartPages; RazorPage = razorPage; _htmlEncoder = htmlEncoder; }
/// <inheritdoc /> public IView GetView( IRazorViewEngine viewEngine, IRazorPage page, bool isPartial) { if (viewEngine == null) { throw new ArgumentNullException(nameof(viewEngine)); } if (page == null) { throw new ArgumentNullException(nameof(page)); } var razorView = new RazorView( viewEngine, _pageActivator, _viewStartProvider, page, _htmlEncoder, isPartial); return razorView; }
public RazorHelper(IRazorViewEngine viewEngine) { _viewEngine = viewEngine; }
public TemplateService(IRazorViewEngine viewEngine, IServiceProvider serviceProvider, ITempDataProvider tempDataProvider) { _viewEngine = viewEngine; _serviceProvider = serviceProvider; _tempDataProvider = tempDataProvider; }
/// <inheritdoc /> public PrecompiledMvcView(IRazorViewEngine viewEngine, IRazorPageActivator pageActivator, IReadOnlyList <IRazorPage> viewStartPages, IRazorPage razorPage, HtmlEncoder htmlEncoder, DiagnosticSource diagnosticSource) : base(viewEngine, pageActivator, viewStartPages, razorPage, htmlEncoder, diagnosticSource) { _pageActivator = pageActivator; }
public RenderTemplate(IRazorViewEngine viewEngine) { _viewEngine = viewEngine; }
public IEnumerable <IDocument> Execute(IReadOnlyList <IDocument> inputs, IExecutionContext context) { // Register all the MVC and Razor services // In the future, if DI is implemented for all Wyam, the IExecutionContext would be registered as a service // and the IHostingEnviornment would be registered as transient with the execution context provided in ctor IServiceCollection serviceCollection = new ServiceCollection(); IMvcCoreBuilder builder = serviceCollection .AddMvcCore() .AddRazorViewEngine(); builder.PartManager.FeatureProviders.Add(new MetadataReferenceFeatureProvider(context)); serviceCollection.Configure <RazorViewEngineOptions>(options => { options.ViewLocationExpanders.Add(new ViewLocationExpander()); }); serviceCollection .AddSingleton <ILoggerFactory, TraceLoggerFactory>() .AddSingleton <DiagnosticSource, SilentDiagnosticSource>() .AddSingleton <IHostingEnvironment, HostingEnvironment>() .AddSingleton <ObjectPoolProvider, DefaultObjectPoolProvider>() .AddSingleton <IExecutionContext>(context) .AddSingleton <IBasePageTypeProvider>(new BasePageTypeProvider(_basePageType ?? typeof(RazorPage))) .AddScoped <IMvcRazorHost, RazorHost>(); IServiceProvider services = serviceCollection.BuildServiceProvider(); // Eliminate input documents that we shouldn't process List <IDocument> validInputs = inputs .Where(x => _ignorePrefix == null || !x.ContainsKey(Keys.SourceFileName) || !x.FilePath(Keys.SourceFileName).FullPath.StartsWith(_ignorePrefix)) .ToList(); // Compile and evaluate the pages in parallel IServiceScopeFactory scopeFactory = services.GetRequiredService <IServiceScopeFactory>(); return(validInputs.AsParallel().Select(input => { Trace.Verbose("Compiling Razor for {0}", input.SourceString()); using (var scope = scopeFactory.CreateScope()) { // Get services IRazorViewEngine viewEngine = services.GetRequiredService <IRazorViewEngine>(); IRazorPageActivator pageActivator = services.GetRequiredService <IRazorPageActivator>(); HtmlEncoder htmlEncoder = services.GetRequiredService <HtmlEncoder>(); IRazorPageFactoryProvider pageFactoryProvider = services.GetRequiredService <IRazorPageFactoryProvider>(); IRazorCompilationService razorCompilationService = services.GetRequiredService <IRazorCompilationService>(); IHostingEnvironment hostingEnviornment = services.GetRequiredService <IHostingEnvironment>(); // Compile the view string relativePath = GetRelativePath(input, context); FilePath viewStartLocationPath = _viewStartPath?.Invoke <FilePath>(input, context); string viewStartLocation = viewStartLocationPath != null ? GetRelativePath(viewStartLocationPath, context) : null; string layoutLocation = _layoutPath?.Invoke <FilePath>(input, context)?.FullPath; IView view; using (Stream stream = input.GetStream()) { view = GetViewFromStream(relativePath, stream, viewStartLocation, layoutLocation, viewEngine, pageActivator, htmlEncoder, pageFactoryProvider, hostingEnviornment.WebRootFileProvider, razorCompilationService); } // Render the view Trace.Verbose("Processing Razor for {0}", input.SourceString()); using (StringWriter output = new StringWriter()) { Microsoft.AspNetCore.Mvc.Rendering.ViewContext viewContext = GetViewContext(scope.ServiceProvider, view, input, context, output); viewContext.View.RenderAsync(viewContext).GetAwaiter().GetResult(); return context.GetDocument(input, output.ToString()); } } })); }
public RazorViewFinder(ITempDataProvider tempDataProvider, IServiceProvider serviceProvider, IRazorViewEngine viewEngine, ILogger <RazorViewFinder> logger) { _tempDataProvider = tempDataProvider; _serviceProvider = serviceProvider; _viewEngine = viewEngine; _logger = logger; }
public RazorViewRenderer(IServiceProvider serviceProvider, ITempDataProvider tempDataProvider, IRazorViewEngine razorViewEngine) { _serviceProvider = serviceProvider; _tempDataProvider = tempDataProvider; _razorViewEngine = razorViewEngine; }
public NotificationService(IRazorViewEngine razorViewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider) { this.razorViewEngine = razorViewEngine; this.tempDataProvider = tempDataProvider; this.serviceProvider = serviceProvider; }
public RazorRunner(IRazorViewEngine razorViewEngine, IServiceProvider serviceProvider) { this._razorViewEngine = razorViewEngine; this._serviceProvider = serviceProvider; }
public TemplateHelper(IRazorViewEngine engine, IServiceProvider serviceProvider, ITempDataProvider tempDataProvider) { this._razorViewEngine = engine; this._serviceProvider = serviceProvider; this._tempDataProvider = tempDataProvider; }
public HtmlDynamicRender(IRazorViewEngine razorViewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider) { _razorViewEngine = razorViewEngine; _tempDataProvider = tempDataProvider; _serviceProvider = serviceProvider; }
public ViewRenderService(IRazorViewEngine viewEngine, IHttpContextAccessor httpContextAccessor) { _viewEngine = viewEngine; _httpContextAccessor = httpContextAccessor; }
public ViewRender(IRazorViewEngine viewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider) { this.viewEngine = viewEngine; this.tempDataProvider = tempDataProvider; this.serviceProvider = serviceProvider; }
public RazorRenderingService(IRazorViewEngine engine, ITempDataProvider tmp) { _razorViewEngine = engine; _tempDataProvider = tmp; }
public ViewRenderer(IRazorViewEngine viewEngine, ITempDataProvider tempDataProvider, IServiceProvider provider) { _viewEngine = viewEngine; _tempDataProvider = tempDataProvider; _provider = provider; }
public async Task <string> RenderViewToStringAsync(string viewName, object model, IRazorViewEngine viewEngine) { var actionContext = GetActionContext(); var view = FindView(actionContext, viewName, viewEngine); using (var output = new StringWriter()) { var viewContext = new ViewContext( actionContext, view, new ViewDataDictionary( metadataProvider: new EmptyModelMetadataProvider(), modelState: new ModelStateDictionary()) { Model = model }, new TempDataDictionary( actionContext.HttpContext, _tempDataProvider), output, new HtmlHelperOptions()); await view.RenderAsync(viewContext); return(output.ToString()); } }
public ViewRenderService(IRazorViewEngine viewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider) { _viewEngine = viewEngine ?? throw new ArgumentNullException(nameof(viewEngine)); _tempDataProvider = tempDataProvider ?? throw new ArgumentNullException(nameof(tempDataProvider)); _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); }
public ViewRenderService(IRazorViewEngine razorViewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider) { _razorViewEngine = razorViewEngine; _tempDataProvider = tempDataProvider; _serviceProvider = serviceProvider; }
public RazorViewToStringRenderer(IRazorViewEngine viewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider) { _viewEngine = viewEngine; _tempDataProvider = tempDataProvider; _serviceProvider = serviceProvider; }
public ViewRenderService(IRazorViewEngine razorViewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider, IHostingEnvironment env, IHttpContextAccessor ctx) { _razorViewEngine = razorViewEngine; _tempDataProvider = tempDataProvider; _serviceProvider = serviceProvider; _env = env; _http = ctx.HttpContext; }
public RazorViewToStringRenderer(IRazorViewEngine razorViewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider) { this.RazorViewEngine = razorViewEngine; this.TempDataProvider = tempDataProvider; this.ServiceProvider = serviceProvider; }
public RazorEmailTemplateRenderer(IRazorViewEngine razorViewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider) { _razorViewEngine = razorViewEngine ?? throw new ArgumentNullException(nameof(razorViewEngine)); _tempDataProvider = tempDataProvider ?? throw new ArgumentNullException(nameof(tempDataProvider)); _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); }
/// <inheritdoc /> public RazorViewOPtionsSetup(IRazorViewEngine razorViewEngine) { _compositePrecompiledMvcEngine = razorViewEngine; }
public ClientesController(IConverter converter, IRazorViewEngine engine, IServiceProvider service, ITempDataProvider provider) { this._converter = converter; this._templateService = new TemplateService(engine, service, provider); }
/// <summary> /// 获取Razor视图 /// </summary> /// <param name="razorViewEngine">Razor视图引擎</param> /// <param name="actionContext">操作上下文</param> /// <param name="info">路由信息</param> /// <returns></returns> protected virtual ViewEngineResult GetView(IRazorViewEngine razorViewEngine, ActionContext actionContext, RouteInformation info) { return(razorViewEngine.FindView(actionContext, info.ViewName.IsEmpty() ? info.ActionName : info.ViewName, !info.IsPartialView)); }
public EmailViewRenderService(IRazorViewEngine viewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider) { _viewEngine = viewEngine; _tempDataProvider = tempDataProvider; _serviceProvider = serviceProvider; }
public PxRazorViewToStringRenderer(IRazorViewEngine viewEngine, ITempDataProvider tempDataProvider, IServiceProvider serviceProvider) { this._viewEngine = viewEngine; this._tempDataProvider = tempDataProvider; this._serviceProvider = serviceProvider; }
public MvcModuleSetup(ApplicationPartManager partManager, IReferenceLoader referenceLoader, IPluginsAssemblyLoadContexts pluginsLoadContexts, DynamicChangeTokenProvider dynamicChangeTokenProvider, INotificationRegister notificationRegister, IOptions <PluginOptions> options, IWebHostEnvironment webHostEnvironment, IRazorViewEngine razorViewEngine, IViewCompilerProvider viewCompiler) { _partManager = partManager; _referenceLoader = referenceLoader; _pluginsLoadContexts = pluginsLoadContexts; _dynamicChangeTokenProvider = dynamicChangeTokenProvider; _notificationRegister = notificationRegister; _pluginOptions = options.Value; _env = webHostEnvironment; //_baseDirectory = AppContext.BaseDirectory; _baseDirectory = _env.ContentRootPath; _razorViewEngine = razorViewEngine; _viewCompiler = viewCompiler; }
public static async Task <string> NccRenderToStringAsync(this ViewContext context, IRazorViewEngine razorViewEngine, string viewPath, object model) { using (var sw = new StringWriter()) { var viewResult = razorViewEngine.GetView("", viewPath, false); if (viewResult.View == null) { throw new ArgumentNullException($"{viewPath} does not match any available view"); } if (model != null) { context.ViewData.Model = model; } var viewContext = new ViewContext( context, viewResult.View, context.ViewData, context.TempData, sw, new HtmlHelperOptions() ); await viewResult.View.RenderAsync(viewContext); return(sw.ToString()); } }
/// <summary> /// 获取视图 /// </summary> /// <param name="razorViewEngine">Razor视图引擎</param> /// <param name="actionContext">操作上下文</param> /// <param name="viewName">视图名</param> /// <returns></returns> private ViewEngineResult GetView(IRazorViewEngine razorViewEngine, ActionContext actionContext, string viewName) { return(razorViewEngine.FindView(actionContext, viewName, true)); }