/// <summary> /// Registers a common webapi home controller. /// </summary> /// <param name="builder">An interface for configuring essential MVC services.</param> /// <param name="services">Specifies the contract for a collection of service descriptors.</param> /// <param name="callingType">Type of the calling assembly. This would usually be the main assembly of the web site.</param> /// <param name="asciiBanner">Optional: some text to display in the home controller output.</param> /// <returns>Chaining: the interface for configuring essential MVC services.</returns> public static IMvcBuilder AddAHomeController(this IMvcBuilder builder, IServiceCollection services, string?asciiBanner = null, Assembly?callingAssembly = null) { if (callingAssembly == null) { callingAssembly = Assembly.GetExecutingAssembly(); } var banner = new HomeControllerBanner(callingAssembly, asciiBanner); services.AddSingleton <IHomeControllerBanner>(banner); builder.AddApplicationPart(typeof(HomeController).Assembly); return(builder); }
/// <summary> /// Registers a common webapi home controller. /// </summary> /// <param name="builder">An interface for configuring essential MVC services.</param> /// <param name="services">Specifies the contract for a collection of service descriptors.</param> /// <param name="callingType">Type of the calling assembly. This would usually be the main assembly of the web site.</param> /// <param name="asciiBanner">Optional: some text to display in the home controller output.</param> /// <returns>Chaining: the interface for configuring essential MVC services.</returns> public static IMvcBuilder AddAHomeController(this IMvcBuilder builder, IServiceCollection services, string asciiBanner = null, Assembly callingAssembly = null) { if (services == null) { throw new ArgumentNullException(nameof(services)); } if (callingAssembly == null) { callingAssembly = Assembly.GetCallingAssembly(); } var banner = new HomeControllerBanner(asciiBanner, callingAssembly); services.AddSingleton <IHomeControllerBanner>(banner); builder.AddApplicationPart(typeof(HomeController).Assembly); return(builder); }