Как правило, приложение WPF - это потребитель / клиент службы RESTful на веб-сервере. Я хотел бы, чтобы это было наоборот - приложение WPF должно иметь возможность выставлять веб-API. Это будет использовано веб-приложением.
Поток:
web app ---sends a command to--> WPF app
** WPF app makes a 'long running job' until its user decides to stop **
WPF app ---passes data back to--> web app
Сообщение должно быть в формате Json. Я подготовил для нее схему OpenAPI (в YAML ) на http://editor.swagger.io/. В будущем ее можно будет использовать для внесения изменений в веб-API приложения WPF.
Позволяет генерировать заглушку кода C # сервера ASP.NET Core. Каковы будут требования для запуска сервера ASP.NET Core в WPF, и будет ли он достаточно легким для использования?
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
// somewhere in the WPF app: BuildWebHost(args).Run();
Код автоматически генерируется https://github.com/swagger-api/swagger-codegen.
В post не удалось интегрировать ASP.NET Core 2.x в приложение WPF. К сожалению, ASP.NET Core 3.0 и новее будет работать только на .NET Core.
У меня есть кое-что, но не рабочая концепция. Мои варианты могут быть:
- Используйте сторонние фреймворки или библиотеки. Должен иметь возможность использовать схему OpenAPI / YAML или сгенерированный Swagger код заглушки сервера и т. Д.
- Может ли ServiceStack быть недостающим элементом?
- Интеграция ASP.NET Core в WPF. Это вообще возможно?
- Запустите отдельный веб-сервер (не являющийся хостингом) с веб-сервисами из приложения WPF. Звучит плохо.
- Реализация веб-служб и запросов WCF.
- ...
Как реализовать веб-сервер / службы на стороне WPF? Может быть, существует сторонний фреймворк, который может спасти меня от изобретения колеса?
PS. Есть похожий вопрос , как предоставить спокойный сервис внутри проекта WPF , но он устарел.