public static IServiceCollection AddOrchardMvc(this IServiceCollection services) { services .AddMvcCore(options => { options.Filters.Add(new ModelBinderAccessorFilter()); options.Conventions.Add(new ModuleAreaRouteConstraintConvention()); options.ModelBinders.Insert(0, new CheckMarkModelBinder()); }) .AddViews() .AddViewLocalization() .AddRazorViewEngine() .AddJsonFormatters(); services.AddScoped<IModelUpdaterAccessor, LocalModelBinderAccessor>(); services.AddTransient<IFilterProvider, DependencyFilterProvider>(); services.AddTransient<IMvcRazorHost, TagHelperMvcRazorHost>(); services.AddScoped<IAssemblyProvider, OrchardMvcAssemblyProvider>(); services.AddSingleton<ICompilationService, DefaultRoslynCompilationService>(); services.Configure<RazorViewEngineOptions>(options => { var expander = new ModuleViewLocationExpander(); options.ViewLocationExpanders.Add(expander); }); return services; }
public static IServiceCollection AddOrchardMvc(this IServiceCollection services) { services .AddMvcCore(options => { options.Filters.Add(new ModelBinderAccessorFilter()); options.Filters.Add(typeof(AutoValidateAntiforgeryTokenAuthorizationFilter)); options.ModelBinderProviders.Insert(0, new CheckMarkModelBinderProvider()); }) .AddViews() .AddViewLocalization() .AddRazorViewEngine() .AddJsonFormatters(); services.AddScoped<IModelUpdaterAccessor, LocalModelBinderAccessor>(); services.AddTransient<IFilterProvider, DependencyFilterProvider>(); services.AddTransient<IApplicationModelProvider, ModuleAreaRouteConstraintApplicationModelProvider>(); services.Configure<RazorViewEngineOptions>(configureOptions: options => { var expander = new ModuleViewLocationExpander(); options.ViewLocationExpanders.Add(expander); var extensionLibraryService = services.BuildServiceProvider().GetService<IExtensionLibraryService>(); ((List<MetadataReference>)options.AdditionalCompilationReferences).AddRange(extensionLibraryService.MetadataReferences()); }); return services; }
public static IServiceCollection AddOrchardMvc(this IServiceCollection services) { services .AddMvcCore() .AddViews() .AddRazorViewEngine(); services.AddScoped<IAssemblyProvider, OrchardMvcAssemblyProvider>(); services.AddSingleton<ICompilationService, DefaultRoslynCompilationService>(); services.Configure<RazorViewEngineOptions>(options => { var expander = new ModuleViewLocationExpander(); options.ViewLocationExpanders.Add(expander); }); return services; }
public static IServiceCollection AddOrchardMvc(this IServiceCollection services) { services .AddMvcCore(options => { options.Filters.Add(new ModelBinderAccessorFilter()); options.Conventions.Add(new ModuleAreaRouteConstraintConvention()); options.ModelBinderProviders.Insert(0, new CheckMarkModelBinderProvider()); }) .AddViews() .AddViewLocalization() .AddRazorViewEngine() .AddJsonFormatters(); services.AddScoped<IModelUpdaterAccessor, LocalModelBinderAccessor>(); services.AddTransient<IFilterProvider, DependencyFilterProvider>(); services.AddTransient<IMvcRazorHost, TagHelperMvcRazorHost>(); //if (DnxPlatformServices.Default.LibraryManager != null) //{ // var partManager = GetApplicationPartManager(services); // var libraryManager = new OrchardLibraryManager(DnxPlatformServices.Default.LibraryManager); // var provider = new OrchardMvcAssemblyProvider( // libraryManager, // DnxPlatformServices.Default.AssemblyLoaderContainer, // new ExtensionAssemblyLoader( // PlatformServices.Default.Application, // DnxPlatformServices.Default.AssemblyLoadContextAccessor, // PlatformServices.Default.Runtime, // libraryManager)); // foreach (var assembly in provider.CandidateAssemblies) // { // partManager.ApplicationParts.Add(new AssemblyPart(assembly)); // } //} services.Configure<RazorViewEngineOptions>(configureOptions: options => { var expander = new ModuleViewLocationExpander(); options.ViewLocationExpanders.Add(expander); }); return services; }