如果我在应用程序中同时使用
在Asp Core 2.1中,我们在Startup.cs中使用了扩展方法
在我的应用程序中,我使用了
如果决定添加Netwonsoft Json支持,使用
我只需要使用以上哪个声明中的一个吗?
同样地,如果我决定添加
.AddControllersWithViews()
和.AddRazorPages()
,并且我想在它们上调用一个扩展方法,那么我是否必须将其添加到两者中,并且将其添加到这两个服务中是否安全?在Asp Core 2.1中,我们在Startup.cs中使用了扩展方法
.AddMvc()
。在Asp Core 3+中,它被拆分为.AddControllersWithViews()
和.AddRazorPages()
。在混合了传统MVC和较新的Razor视图的应用程序中,开发人员可以选择使用.AddControllersWithViews()
和.AddRazorPages()
两者,或者只使用旧的.AddMvc()
。这在Microsoft文档中有提到,并且还可以在源代码中看到。在我的应用程序中,我使用了
.AddControllersWithViews()
和.AddRazorPages()
两者,而不是只使用.AddMvc()
。var scwv = services.AddControllersWithViews();
var srp = services.AddRazorPages();
如果决定添加Netwonsoft Json支持,使用
.AddNewtonsoftJson()
,我需要在两个地方都添加.AddNewtonsoftJson()
扩展吗?例如:scwv.AddNewtonsoftJson()
srp.AddNewtonsoftJson()
我只需要使用以上哪个声明中的一个吗?
同样地,如果我决定添加
.AddRazorRuntimeCompilation()
以便在更改 .cshtml 文件时无需停止和启动项目,我是否需要将 .AddRazorRuntimeCompilation()
扩展都加上,就像这样:scwv.AddRazorRuntimeCompilation()
srp.AddRazorRuntimeCompilation()
我只能使用上述其中一种语句吗?
[我知道更简单的选择是改为使用 .AddMvc(),不需要考虑任何其他事情。但是我正在尝试了解中间件的工作原理,以及是否向其中一个添加扩展将同时适用于两者,或者将相同的扩展添加到两个中间件是否会导致一些问题或冲突,因为许多基础功能是共享的,并且所有中间件都被一起添加]