Угловой новичок здесь.У меня есть приложение Angular 7.0 на базе ASP.NET Core 2.1.Мои веб-интерфейсы не попадают (всегда получая 404), если я запускаю свое приложение из командной строки, используя dotnet run
, но оно срабатывает правильно, когда оно запускается непосредственно из VS 2017 IISExpress (нажатием клавиши F5).Поскольку приложение работает нормально во время запуска F5, я предполагаю, что мои Startup.cs
настройки верны, но я все же копирую часть маршрута здесь
app.UseMvc(
routes =>
{
routes.MapRoute(
name: "default",
template: "api/{controller}/{action}/{id?}");
});
Я буду рад предоставить более подробную информацию, если они вам понадобятся.
Обновление 1 : я видел эту запись, и это не применимо в моем случае.
Обновление 2 : После дальнейшего изучения я обнаружил, что после выполнения dotnet run
открываются три порта
Не SSL-порт для ASP.NET (в моем случае 5000)
SSL-порт для ASP.NET (в моем случае 5001)
Не SSL-порт для Angular CLI
(в моем случае 5002 - я специально попросил 5002 вpackage.json
)
Если я выполняю вызов Web API для 5000 или 5001 (оба открыты ASP.NET), это работает (в то время как мое приложение Angular работает в 5002!),Итак, вопрос в том, как я могу использовать один и тот же порт для обоих? .. или это вообще возможно?
Обновление 3 : Program.cs
public class Program
{
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
return WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
}