Я создал консольное приложение в Net Core. Я запустил веб-сервер Kestrel, используя
WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().Build().Run();
Я хочу, чтобы веб-сервер получил веб-запрос (с некоторыми данными), а затем отключился с помощью
applicationLifetime.stopApplication();
Теперь я хочу передать эти данные обратно в консольное приложение. Является ли это возможным? Если да, то как мне это сделать.
Все это очень странно. Веб-приложение, которое закрывается ?! Что ты пытаешься сделать?
Консольное приложение на самом деле будет библиотекой, которая выполняет все виды операций, связанных с oauth.
Таким образом, он не должен запускать веб-сервер. Вам нужно либо реализовать отдельную службу oauth (которая запускает веб-сервер, и все его взаимодействия осуществляются через HTTP-запрос / ответ), либо библиотеку, которая загружается внутри другого приложения и инкапсулирует желаемую логику (которая не запускает отдельную сервер).
@MohammadDehghan Спасибо за ваше понимание. Речь идет о материалах, связанных с сервером Oauth. Я делаю библиотеку для настольных компьютеров, связанных с клиентом Oauth. Вы знаете, возможно ли то, о чем я прошу? Если да, ответьте на вопрос
Хотя я уверен, что вы делаете что-то не так, но есть один способ сделать это: создать статическое свойство в своем классе Program
. Задайте это свойство в своем конкретном запросе и прочтите его в своем Main
после вызова метода Run
.
Что ж, ваше решение работает. Кто бы мог подумать, решение будет таким простым. Если вы прочитали спецификацию / поток Oauth для настольных приложений, вы увидите, что вам нужно временно развернуть веб-сервер, чтобы получить код авторизации. Еще раз огромное вам спасибо, вы джентльмен и ученый.
Пожалуйста! Спасибо за информацию о Oauth. Вроде логично! Я этого не знал!
Что вы имеете в виду, говоря «передать данные обратно в консольное приложение»? Что именно вы хотите делать с данными? Хотите вернуть как результат
Main
?