React to hosting

This commit is contained in:
Hao Kung 2015-03-19 21:02:35 -07:00
parent 37dc8581de
commit 0db1f1a42f
5 changed files with 23 additions and 29 deletions

View File

@ -12,13 +12,13 @@ namespace RoutingSample.Web
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddRouting();
}
public void Configure(IApplicationBuilder builder)
{
builder.UseServices(services =>
{
services.AddRouting();
});
var endpoint1 = new DelegateRouteEndpoint(async (context) =>
await context
.HttpContext

View File

@ -4,7 +4,6 @@
using System;
using System.Threading.Tasks;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.RequestContainer;
using Microsoft.AspNet.Routing;
using Microsoft.AspNet.Routing.Logging;
using Microsoft.AspNet.Routing.Logging.Internal;
@ -17,16 +16,13 @@ namespace Microsoft.AspNet.Builder
private readonly ILogger _logger;
private readonly RequestDelegate _next;
private readonly IRouter _router;
private readonly IServiceProvider _services;
public RouterMiddleware(
RequestDelegate next,
IServiceProvider services,
ILoggerFactory loggerFactory,
IRouter router)
{
_next = next;
_services = services;
_router = router;
_logger = loggerFactory.CreateLogger<RouterMiddleware>();
@ -34,24 +30,21 @@ namespace Microsoft.AspNet.Builder
public async Task Invoke(HttpContext httpContext)
{
using (RequestServicesContainer.EnsureRequestServices(httpContext, _services))
using (_logger.BeginScope("RouterMiddleware.Invoke"))
{
using (_logger.BeginScope("RouterMiddleware.Invoke"))
var context = new RouteContext(httpContext);
context.RouteData.Routers.Add(_router);
await _router.RouteAsync(context);
if (_logger.IsEnabled(LogLevel.Verbose))
{
var context = new RouteContext(httpContext);
context.RouteData.Routers.Add(_router);
_logger.WriteValues(new RouterMiddlewareInvokeValues() { Handled = context.IsHandled });
}
await _router.RouteAsync(context);
if (_logger.IsEnabled(LogLevel.Verbose))
{
_logger.WriteValues(new RouterMiddlewareInvokeValues() { Handled = context.IsHandled });
}
if (!context.IsHandled)
{
await _next.Invoke(httpContext);
}
if (!context.IsHandled)
{
await _next.Invoke(httpContext);
}
}
}

View File

@ -5,9 +5,9 @@
"warningsAsErrors": true
},
"dependencies": {
"Microsoft.AspNet.RequestContainer": "1.0.0-*",
"Microsoft.AspNet.Http.Extensions": "1.0.0-*",
"Microsoft.Framework.Logging.Interfaces": "1.0.0-*",
"Microsoft.Framework.OptionsModel": "1.0.0-*",
"Microsoft.Framework.NotNullAttribute.Internal": { "type": "build", "version": "1.0.0-*" }
},
"frameworks": {

View File

@ -34,7 +34,7 @@ namespace Microsoft.AspNet.Routing
};
var router = new TestRouter(isHandled);
var middleware = new RouterMiddleware(next, httpContext.ApplicationServices, loggerFactory, router);
var middleware = new RouterMiddleware(next, loggerFactory, router);
// Act
await middleware.Invoke(httpContext);
@ -76,7 +76,7 @@ namespace Microsoft.AspNet.Routing
};
var router = new TestRouter(isHandled);
var middleware = new RouterMiddleware(next, httpContext.ApplicationServices, loggerFactory, router);
var middleware = new RouterMiddleware(next, loggerFactory, router);
// Act
await middleware.Invoke(httpContext);
@ -112,7 +112,7 @@ namespace Microsoft.AspNet.Routing
var router = new TestRouter(isHandled);
var middleware = new RouterMiddleware(next, httpContext.ApplicationServices, loggerFactory, router);
var middleware = new RouterMiddleware(next, loggerFactory, router);
// Act
await middleware.Invoke(httpContext);
@ -156,7 +156,7 @@ namespace Microsoft.AspNet.Routing
};
var router = new TestRouter(isHandled);
var middleware = new RouterMiddleware(next, httpContext.ApplicationServices, loggerFactory, router);
var middleware = new RouterMiddleware(next, loggerFactory, router);
// Act
await middleware.Invoke(httpContext);

View File

@ -6,6 +6,7 @@
"Microsoft.AspNet.Http.Core": "1.0.0-*",
"Microsoft.AspNet.Routing": "1.0.0-*",
"Microsoft.AspNet.Testing": "1.0.0-*",
"Microsoft.Framework.DependencyInjection": "1.0.0-*",
"Microsoft.Framework.Logging.Testing": "1.0.0-*",
"xunit.runner.aspnet": "2.0.0-aspnet-*"
},