Как использовать локальный веб-API в одном проекте из локального проекта MVC в том же решении? (.NET 6)C#

Место общения программистов C#
Гость
Как использовать локальный веб-API в одном проекте из локального проекта MVC в том же решении? (.NET 6)

Сообщение Гость »

У меня есть решение ASP.NET Core 6, которое состоит из двух отдельных проектов: проекта MVC и веб-API.
В настоящее время, когда я пытаюсь использовать API, я получаю следующую ошибку:< /p>

Ответ завершился преждевременно

Я не уверен, может ли это быть связано с этим в мои конфигурации, из-за какой-то функции безопасности или из-за того, что я просто запускаю это на своей машине. Я пробовал рассмотреть все эти возможности, искал и пробовал, но я просто застрял.
Я настроил свои стартап-проекты, так что проблема не в этом. Нет другой среды, кроме моего локального компьютера (dev).
Я пробовал:
  • изменение на несколько разных URL-адресов из настроек запуска
  • изменение версии Http-клиента на 20
  • добавление параметров сериализатора JSON:

    Код: Выделить всё

      var options = new JsonSerializerOptions(JsonSerializerDefaults.Web);
    
  • добавление политики cors в контейнер DI:

    Код: Выделить всё

    builder.Services.AddCors(options => options.AddPolicy("ApiCorsPolicy", builder =>
    {
    builder.WithOrigins("http://localhost:52927").AllowAnyMethod().AllowAnyHeader();
    }));
    
    app.UseCors("ApiCorsPolicy");
    
  • добавление обработчика http-клиента (поскольку я не собираюсь размещать его в ближайшее время)

Код: Выделить всё

var handler = new HttpClientHandler();
handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
  • добавление политики безопасности ServicePointManager:

    Код: Выделить всё

      System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 | System.Net.SecurityProtocolType.Tls;
    
  • Отключение HTTPS
Изображение
[img]https://i.stack. imgur.com/HM04w.png[/img]

Изображение

URL-адреса настроек запуска API:
  • URL-адрес приложения Project
  • IIS Express URL
  • IIS Express SSL:
Какой из них мне следует использовать? Я перепробовал все из них.
Я не думаю, что эта проблема каким-либо образом связана с частью MVC, включая запрос на публикацию, но я могу ошибаться. Нужно ли мне публиковать их оба для работы в IIS, чтобы это работало? Будем очень признательны за любую помощь в решении этой проблемы.

Код: Выделить всё

Stack Trace:

at System.Net.Http.HttpConnection.d__64.MoveNext()
at System.Net.Http.HttpConnectionPool.d__84.MoveNext()
at System.Net.Http.DiagnosticsHandler.d__8.MoveNext()
at System.Threading.Tasks.ValueTask`1.get_Result()
at System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
at System.Net.Http.RedirectHandler.d__4.MoveNext()
at System.Net.Http.HttpClient.d.MoveNext()
at RPA.Controllers.LoginController.d__4.MoveNext() in C:\Users\Mitch\Desktop\Projects\RPA\RPA\Controllers\LoginController.cs:line 51
Ошибка:

При отправке запроса произошла ошибка. Ответ прерван преждевременно.

Изменить: я нашел это сообщение:
JWT

Подробнее здесь: https://stackoverflow.com/questions/781 ... -in-the-sa

Вернуться в «C#»