.NET Core 3.1 Konsolen -App -Hosting Optionale Web -API für die SteuerungC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 .NET Core 3.1 Konsolen -App -Hosting Optionale Web -API für die Steuerung

Post by Anonymous »

Ich schreibe eine Konsolen -App in .NET Core 3.1. Es ist bereits so konfiguriert, dass die Abhängigkeitsinjektion mit Microsoft.EXTENSIONS.DependencyInjection auf folgende Weise verwendet wird:

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!");
});
}
}
}
Das obige funktioniert nur nicht, es sei dennpublic void ConfigureServices(IServiceCollection services)
{
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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post