खोज…
पैरामीटर
पैरामीटर | विवरण |
---|---|
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