// Methods public static MdpBuilder AddQuartz(this MdpBuilder mdpBuilder) { #region Contracts if (mdpBuilder == null) { throw new ArgumentException(nameof(mdpBuilder)); } #endregion // ConfigureServices mdpBuilder.HostBuilder.ConfigureServices((hostContext, services) => { // Quartz services.AddQuartz(options => { // ScopedJob options.UseMicrosoftDependencyInjectionScopedJobFactory(); }); // QuartzHostedService services.AddQuartzHostedService(options => { // WaitForJobsToComplete options.WaitForJobsToComplete = true; }); }); // Return return(mdpBuilder); }
// Methods public static MdpBuilder AddMvc(this MdpBuilder mdpBuilder) { #region Contracts if (mdpBuilder == null) { throw new ArgumentException(nameof(mdpBuilder)); } #endregion // ConfigureServices mdpBuilder.HostBuilder.ConfigureServices((hostContext, services) => { // MvcBuilder var mvcBuilder = services.AddMvc(); if (mvcBuilder == null) { throw new InvalidOperationException($"{nameof(mvcBuilder)}=null"); } // MvcOptions mvcBuilder.AddMvcOptions((options) => { // ApiOutput { // NotAcceptable options.ReturnHttpNotAcceptable = true; // BrowserAcceptHeader options.RespectBrowserAcceptHeader = true; // OutputFormatters { // XML options.OutputFormatters.Add(new XmlSerializerOutputFormatter()); // Null options.OutputFormatters.RemoveType <HttpNoContentOutputFormatter>(); options.OutputFormatters.Insert(0, new NullOutputFormatter()); } } }); // RazorOptions mvcBuilder.AddRazorOptions((options) => { // ViewLocationFormats { // Area options.AreaViewLocationFormats.Add("/Views/{2}/{1}/{0}.cshtml"); options.AreaViewLocationFormats.Add("/Views/{2}/Shared/{0}.cshtml"); } }); // ApiVersion mvcBuilder.Services.AddApiVersioning((options) => { // Report options.ReportApiVersions = true; // Reader options.ApiVersionReader = new HeaderApiVersionReader("api-version"); // Default options.ApiVersionSelector = new CurrentImplementationApiVersionSelector(options); options.AssumeDefaultVersionWhenUnspecified = true; }); // ModuleWebAsset mvcBuilder.AddModuleWebAsset(); // ModuleApplicationPart mvcBuilder.AddModuleApplicationPart(); }); // Return return(mdpBuilder); }