Если я использую и .AddControllersWithViews()
, и .AddRazorPages()
в приложении, и я хочу вызвать для них метод расширения, нужно ли добавлять его к обоим, и безопасно ли добавлять его к обоим?
В Asp Core 2.1, в Startup.cs мы использовали метод расширения .AddMvc()
. В Asp Core 3+ это было разбито на .AddControllersWithViews()
и .AddRazorPages()
. В приложении, которое смешивает как традиционные MVC, так и более новые виды бритвы, разработчик может использовать как .AddControllersWithViews()
и .AddRazorPages()
, так и просто использовать старый .AddMvc()
. Это упоминается в документах Microsoft , а также в исходном коде .
В моем приложении я использовал .AddControllersWithViews()
и .AddRazorPages()
, а не просто .AddMvc()
.
var scwv = services.AddControllersWithViews();
var srp = services.AddRazorPages();
Если вы решите добавить поддержку Netwonsoft Json с .AddNewtonsoftJson()
, нужно ли мне добавлять расширение .AddNewtonsoftJson()
к обоим? Например,
scwv.AddNewtonsoftJson()
srp.AddNewtonsoftJson()
Или я могу использовать только одно из приведенных выше утверждений?
Аналогично, если я решу добавить .AddRazorRuntimeCompilation()
, чтобы мне не нужно было останавливать и запускать проект каждый раз, когда я делаю изменения в файле .cs html, нужно ли мне добавлять расширение .AddRazorRuntimeCompilation()
к обоим так:
scwv.AddRazorRuntimeCompilation()
srp.AddRazorRuntimeCompilation()
Или я могу использовать только одно из приведенных выше утверждений?
[Я понимаю, что проще было бы изменить использование .Add Mvc (), и не думать ни о чем из этого. Но я пытаюсь понять, как работает промежуточное программное обеспечение, и будет ли добавление расширения к одному из них делать это для обоих, или добавление одного и того же расширения к обоим из них вызовет некоторые проблемы или конфликты, так как большая часть лежащей в основе функциональность является общей, и все промежуточные программы добавляются вместе]