खोज…


पैरामीटर

पैरामीटर विवरण
IDictionary<string,object> environment यह एकमात्र संग्रह है जिसमें OWIN एक कॉल के दौरान सूचना का संचार करता है। सभी कुंजी https://docs.asp.net/en/latest/fundamentals/owin.html#owee-ss पर प्राप्त की जा सकती हैं

टिप्पणियों

AppFunc प्रकार केवल Func<IDictionary<string, object>, Task> प्रकार को छोटा करने के लिए एक उपनाम है Func<IDictionary<string, object>, Task> हस्ताक्षर करने के लिए, C ++ में typedef गए।

अनुरोध पथ और इसे संसाधित करने में लगने वाला समय आउटपुट करें

//define a short alias to avoid chubby method signatures
using AppFunc = Func<IDictionary<string, object>, Task>;

class RequestTimeMiddleware
{
    private AppFunc _next;

    public RequestTimeMiddleware(AppFunc next)
    {
        _next = next;
    }

    public async Task Invoke(IDictionary<string, object> environment)
    {
        IOwinContext context = new OwinContext(environment);
        
        var path = context.Request.Path;
        var sw = Stopwatch.StartNew();
        //Queue up the next middleware in the pipeline
        await _next(environment);
        //When the request comes back, log the elapsed time
        Console.WriteLine($"Request for {path} processed in {sw.ElapsedMilliseconds}ms");
    }
}

public static class RequestTimeMiddlewareExtensions
{
    //Extension method as syntactic sugar, to get a meaningful way 
    //in adding the middleware to the pipeline
    public static void UseRequestTimeMiddleware(this IAppBuilder app)
    {
        app.Use<RequestTimeMiddleware>();
    }
}


public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        //add the Middleware as early as possible
        app.UseRequestTimeMiddleware();
        //Queue up every other module
        app.Use(async (environment, next) =>
        {
            await environment.Response.WriteAsync("Hello from the console world");
            await next();
        });
    }
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow