我正在将 ASP.NET Core 2.2 Web 应用程序迁移到 3.0,并且有关于 .AddMvc() 的澄清问题。如果这很重要,我的应用程序使用 Razor 页面和视图。
所以目前,我在 2.2 代码中有以下内容:
services.AddMvc()
.AddRazorPagesOptions(options =>
{
options.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
Run Code Online (Sandbox Code Playgroud)
该迁移文件说,“AddMvc继续表现为它在以前的版本。” 但是,接着说以下内容“与 2.2 中的 .AddMvc() 相同”:
services.AddControllers();
services.AddRazorPages();
Run Code Online (Sandbox Code Playgroud)
因此,我的问题是,我应该使用哪一种?
我的方法是做这样的事情:
services.AddControllersWithViews();
services.AddRazorPages()
.AddRazorPagesOptions(options =>
{
options.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
})
.SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?
谢谢!
jmo*_*dyk 10
不,我相信您会在.AddRazorPages()通话中设置 Razor 页面选项,如下所示:
services.AddControllersWithViews();
services.AddRazorPages(options =>
{
options.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute());
});
Run Code Online (Sandbox Code Playgroud)
我不确定这.SetCompatibilityVersion()是必要的,但根据 Intellisense,您可以将它挂在.AddControllersWithViews()或.AddRazorPages()呼叫中。
| 归档时间: |
|
| 查看次数: |
8210 次 |
| 最近记录: |