Ist es für eine ASP.NET 5-beta4-Konsolenanwendung (erstellt aus der ASP.NET Console-Projektvorlage in VS2015) möglich, die Klasse Startup
zum Registrieren von Diensten und Einrichten zu verwenden Konfigurationsdetails?Verwenden der Startup-Klasse in der ASP.NET5-Konsolenanwendung
Ich habe eine typische Startup
Klasse erstellen versucht, aber es scheint nie aufgerufen werden, wenn die Konsolenanwendung über dnx . run
oder in Visual Studio 2015
Startup.cs
ist ziemlich viel laufen:
public class Startup
{
public Startup(IHostingEnvironment env)
{
Configuration configuration = new Configuration();
configuration.AddJsonFile("config.json");
configuration.AddJsonFile("config.{env.EnvironmentName.ToLower()}.json", optional: true);
configuration.AddEnvironmentVariables();
this.Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
services.Configure<Settings>(Configuration.GetSubKey("Settings"));
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ApplicationContext>(options => options.UseSqlServer(this.Configuration["Data:DefaultConnection:ConnectionString"]));
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(minLevel: LogLevel.Warning);
}
}
Ich habe versucht, die Startup
Klasse in meiner Main
Methode manuell zu erstellen, aber das scheint nicht die richtige Lösung und hat mir bisher nicht erlaubt, die Dienste zu konfigurieren.
Ich nehme an, es gibt eine Möglichkeit für mich, eine HostingContext
zu erstellen, die einen Webserver nicht startet, aber die Konsolenanwendung am Leben erhält. Etwas entlang der Linien von:
HostingContext context = new HostingContext()
{
ApplicationName = "AppName"
};
using (new HostingEngine().Start(context))
{
// console code
}
jedoch bisher die einzige Art, wie ich dies an die Arbeit bekommen kann, ist, wenn ich die HostingContext.ServerFactoryLocation
-Microsoft.AspNet.Server.WebListener
gesetzt, die den Web-Server startet.
Gibt es so etwas wie eine ASP.NET 5 Console Application? Sicher ist es entweder eine ASP.NET Core Application oder eine .NET Core Console Application? – series0ne