Я изо всех сил пытаюсь встроить пустельгу в приложение WinForm с использованием .NET 6. Я нашел много примеров по этому поводу, но с более старой версией .NET, и, насколько я знаю, переход с .NET 5 на 6 имеет много проблем. изменения. Документация Microsoft, на мой взгляд, скорее сбивает с толку, чем помогает, особенно исходя из моего предыдущего опыта работы с Java.
Что мне нужно, так это простой веб-сервер, встроенный в приложение winform, настроенный для ответа на пару конечных точек отдыха. То есть.
Использовал это https://jason-ge.medium.com/host-kestre ... 0fd70b4288 как отправная точка, но у него нет загружаемого примера, и многие классы не имеют ссылок, поэтому он не скомпилируется.
Большое спасибо.
Изменить: некоторый код... Я запустил его, но не знаю, хорош ли он:
Код: Выделить всё
[STAThread]
static void Main()
{
Task.Run(() => StartWebServer());
Application.SetHighDpiMode(HighDpiMode.SystemAware);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ApplicationConfiguration.Initialize();
Form = new MainForm();
Application.Run(Form);
}
private static void StartWebServer()
{
var builder = WebApplication.CreateBuilder();
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
builder.WebHost.UseKestrel().ConfigureKestrel(serverOptions =>
{
serverOptions.ListenLocalhost(80);
});
var app = builder.Build();
app.MapGet("/{id}", (int id, [FromHeader(Name = "X-SIGN-DOCUMENT")] string document) =>
{
return "Hello " + id + " doc = [" + document + "]";
}
);
app.Run();
}
It is good? Is there a better way?
Thank you!
Источник: https://stackoverflow.com/questions/781 ... tion-net-6