Ошибка прокси-сервера: не удалось выполнить прокси-запрос с локального хоста: 3000 на http://localhost:44381 / (ЭКОНОМИЧНЫЙ)

#asp.net #.net #.net-core #single-page-application

#asp.net #.net #.net-ядро #одностраничное приложение

Вопрос:

Я разрабатываю одностраничное приложение (SPA) с ReactJS и ASP.NET . Я пытаюсь выполнить HTTP-запрос к конечной точке из кода на стороне клиента. Я использовал значение по умолчанию ASP.NET Шаблон SPA и изменил мою конфигурацию, как показано ниже.

             fetch(`/items/${id}`).then((response: any) => {
                return response.data;
            })
 

Я изменил шаблон веб-api по умолчанию и вместо этого использую прокси-сервер в разработке. Вот так:

             app.UseSpa(spa =>
             {
                spa.Options.SourcePath = "Client";

                if (env.IsDevelopment())
                {
                    spa.UseProxyToSpaDevelopmentServer("http://127.0.0.1:3000/");
                    //spa.UseReactDevelopmentServer(npmScript: "start");
                }
            });
 

Когда я выполняю выборку в коде клиента React, я получаю эту ошибку: Proxy error: Could not proxy request /items/1 from localhost:3000 to http://localhost:44381/ (ECONNREFUSED).

Как мне настроить мой серверный код для прокси запроса?

Ответ №1:

Согласно связанной проблеме на GitHub, сам spa.UseReactDevelopmentServer прокси-сервер уже должен быть настроен на .Net Core 3.1. Так что вам, возможно, не нужно вызывать spa.UseProxyToSpaDevelopmentServer себя вручную.

https://github.com/dotnet/AspNetCore.Docs/issues/12008#issuecomment-573453266