Table of Contents

HostingEnvironmentMiddleware Class

Definition

Provides a hosting environment middleware implementation for ASP.NET Core.

public class HostingEnvironmentMiddleware : ConfigurableMiddleware<IHostEnvironment, HostingEnvironmentOptions>, IConfigurable<HostingEnvironmentOptions>
Inheritance
HostingEnvironmentMiddleware
Implements
Inherited Members

Examples

The following example demonstrates how to register and use HostingEnvironmentMiddleware in the ASP.NET Core pipeline.

using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options;

        namespace Cuemon.AspNetCore.Hosting;

        public static class HostingEnvironmentMiddlewareExample
        {
            public static async Task DemonstrateAsync()
            {
                var context = new DefaultHttpContext();
        var middleware = new HostingEnvironmentMiddleware(
            httpContext => httpContext.Response.WriteAsync("Hello"),
            Options.Create(new HostingEnvironmentOptions
            {
                HeaderName = "X-Environment",
                SuppressHeaderPredicate = _ => false
            }));

        await middleware.InvokeAsync(context, new SampleHostEnvironment());
        Console.WriteLine(context.Response.Headers["X-Environment"].ToString());
            }
    private sealed class SampleHostEnvironment : IHostEnvironment
    {
        public string ApplicationName { get; set; } = "Docs";
        public IFileProvider ContentRootFileProvider { get; set; } = new NullFileProvider();
        public string ContentRootPath { get; set; } = ".";
        public string EnvironmentName { get; set; } = Environments.Staging;
    }
        }

Constructors

Name Description
HostingEnvironmentMiddleware(RequestDelegate, IOptions<HostingEnvironmentOptions>)

Initializes a new instance of the HostingEnvironmentMiddleware class.

HostingEnvironmentMiddleware(RequestDelegate, Action<HostingEnvironmentOptions>)

Initializes a new instance of the HostingEnvironmentMiddleware class.

Methods

Name Description
InvokeAsync(HttpContext, IHostEnvironment)

Executes the HostingEnvironmentMiddleware.