Code: Select all
public static class Program
{
public static IServiceProvider ServiceProvider { get; private set; }
public static int Main(string[] args)
{
// ...
ServiceProvider = ConfigureServices().BuildServiceProvider();
// ...
}
public static IServiceCollection ConfigureServices()
{
return new ServiceCollection()
.AddLogging(cfg =>
{
// ...
}
// ...
}
< /code>
} < /p>
Ich versuche, eine einfache HTTP -API einzurichten, um eine grundlegende Kontrolle über die App zu bieten. [url=viewtopic.php?t=14917]Ich möchte[/url] ASP.NET CORE MVC oder etwas zu schweres vermeiden. Ich muss nur in der Lage sein, einfache Anweisungen auszustellen und grundlegende Status zu erhalten. Es wird alles JSON sein - keine Notwendigkeit für Rasierer oder ähnliches.public class ApiRunner
{
public IWebHost WebHost { get; }
public ApiRunner()
{
WebHost = new WebHostBuilder()
.UseKestrel()
.UseUrls("http://*:5000")
.UseStartup()
.Build();
}
public void Start()
{
Task.Run(() => WebHost.Run());
}
public void Stop()
{
WebHost.StopAsync();
}
}
< /code>
und < /p>
public class ApiStartup
{
public void Configure(IApplicationBuilder app)
{
app.UseRouter(r =>
{
r.MapGet("/", async (request, response, routeData) =>
{
response.Headers["content-type"] = "text/plan";
response.WriteAsync("Hello World!");
});
}
}
}
{
services.AddRouting();
}
< /code>
Aber dies scheint, als würden zwei DI -Stapel aufeinander laufen: eines für das Hauptprogramm und eine für die API. Ich habe versucht, Dienste hinzuzufügen. API-spezifischer Service, den ich als etwas separates Modul sehe. Kann ich bitte einige Hinweise haben, wie ich das erreichen kann? Danke.