Merge pull request #153 from dtkujawski/dev

Ability to derive Startup from base class
This commit is contained in:
Eilon Lipton 2015-02-26 22:39:07 -08:00
commit eb2887e5ef
4 changed files with 24 additions and 3 deletions

View File

@ -25,8 +25,8 @@ namespace Microsoft.AspNet.Hosting.Startup
{
var methodNameWithEnv = string.Format(CultureInfo.InvariantCulture, methodName, environmentName);
var methodNameWithNoEnv = string.Format(CultureInfo.InvariantCulture, methodName, "");
var methodInfo = startupType.GetTypeInfo().GetDeclaredMethod(methodNameWithEnv)
?? startupType.GetTypeInfo().GetDeclaredMethod(methodNameWithNoEnv);
var methodInfo = startupType.GetMethod(methodNameWithEnv, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static)
?? startupType.GetMethod(methodNameWithNoEnv, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static);
if (methodInfo == null)
{
if (required)

View File

@ -9,7 +9,7 @@ using System;
namespace Microsoft.AspNet.Hosting.Fakes
{
public class Startup
public class Startup : StartupBase
{
public Startup()
{

View File

@ -0,0 +1,20 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.Framework.DependencyInjection;
namespace Microsoft.AspNet.Hosting.Fakes
{
public class StartupBase
{
public void ConfigureBaseClassServices(IServiceCollection services)
{
services.AddOptions();
services.Configure<FakeOptions>(o =>
{
o.Configured = true;
o.Environment = "BaseClass";
});
}
}
}

View File

@ -43,6 +43,7 @@ namespace Microsoft.AspNet.Hosting.Tests
[InlineData("StaticProvider")]
[InlineData("Provider")]
[InlineData("ProviderArgs")]
[InlineData("BaseClass")]
public void StartupClassAddsConfigureServicesToApplicationServices(string environment)
{
var services = HostingServices.Create().BuildServiceProvider();