public class Home : controller
{
public IActionResult Index()
{
return view();
}
}
我创建的上面的类没有控制器后缀。
下面是我在startup.cs类.NET 6中的路由:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}"
);
});
我只是想确认附加“Controller”作为后缀是否只是一个命名约定,或者不遵循它是否有任何潜在的后果。尽管我的 .NET 6 应用程序目前似乎运行没有问题。
重申此处所写内容:
控制器是一个可实例化的类,通常是公共的,其中 至少满足以下条件之一:
- 类名以Controller为后缀。
- 该类继承自名称以Controller为后缀的类。
- [Controller] 属性应用于类。
所以不,控制器后缀在 ASP.NET Core 中不是必需的。只需满足上述条件之一即可。
尽管我建议使用后缀,因为它会让您的浏览解决方案变得更轻松。