#angular #visual-studio #asp.net-core #iis
#angular #visual-studio #asp.net-core #iis
Вопрос:
Я создал приложение в visual studio community 2019 web app core с шаблоном angular (код тот, который поставляется по умолчанию при создании приложения в Visual studio) приложение хорошо запускается с помощью iis express, но мне нужно, чтобы оно запускалось в локальном iis, я настроил локальныйiis, загрузил пакет хостинга, но когда я запускаю приложение в локальном iis, это происходит со мной, я показываю вам скриншоты: это моя program.cs
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
}
это мой startup.cs
Запуск общедоступного класса { общедоступный запуск (конфигурация IConfiguration) { Конфигурация = конфигурация; }
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
// In production, the Angular files will be served from this directory
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "ClientApp/dist";
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
if (!env.IsDevelopment())
{
app.UseSpaStaticFiles();
}
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action=Index}/{id?}");
});
app.UseSpa(spa =>
{
// To learn more about options for serving an Angular SPA from ASP.NET Core,
// see https://go.microsoft.com/fwlink/?linkid=864501
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
//spa.UseProxyToSpaDevelopmentServer("http://localhost:4200");
spa.UseAngularCliServer(npmScript: "start");
}
});
}
}
у меня есть эта версия angular и node
Но я могу получить доступ к методу контроллера, похоже, он не загружает angular
Кто-нибудь знает, в чем может быть проблема?
Комментарии:
1. Трудно сказать, в чем проблема, поскольку это зависит от вашей сборки / развертывания. Включите ведение журнала в файле web.config приложения и проверьте журналы — скорее всего, информация там.
Ответ №1:
Вы добавили оба приложения на веб-сайт по умолчанию? Или как вы развернули свои приложения? Я не вижу настройки CORS в вашем файле запуска. Кроме того, если вы добавили свое приложение на веб-сайт по умолчанию, вам может потребоваться изменить базовый href с «/» на «/ApplicationName /» или «./ApplicationName».