Я пытаюсь выяснить, как правильно заменить код app.UseMvc()
, который используется как часть .net core 2.2. Примеры доходят до того, что рассказывают мне, каковы все коды, которые я могу назвать, но я пока не понимаю, что мне следует называть. Например, для моего веб-приложения MVC у меня есть следующее:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseStatusCodePagesWithReExecute("/Error/Index");
app.UseMiddleware<ExceptionHandler>();
app.UseStaticFiles(new StaticFileOptions()
{
OnPrepareResponse = (context) =>
{
context.Context.Response.GetTypedHeaders()
.CacheControl = new CacheControlHeaderValue
{
MaxAge = TimeSpan.FromDays(30)
};
}
});
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}");
});
}
Прежде чем я предоставлю свою маршрутизацию в опциях UseMvc()
. Однако теперь кажется, что я должен предоставить это внутри MapControllerRoute
Но примеры всегда, кажется, также вызывают MapRazorPages()
. Нужно ли мне звонить обоим или я должен звонить только одному? Какова фактическая разница между ними и как мне установить контроллер по умолчанию и действие по умолчанию?