官术网_书友最值得收藏!

Summary

In real life, chances are you will mix code-based routing configuration and attributes. In our example, we will be using localization features, which require a lot of configuration, typically code-based configuration. Attribute routing also has its place, because we can directly define accessible endpoints that do not need to be restricted by general routing templates. Route constraints are very powerful and should be used.

It is always good to start with the included default route template and go from there. It should be sufficient for around 80% of your needs. Others will either be defined through a custom route or routing attributes.

We saw in this chapter that security is something that needs to be taken into account, and using routing attributes for this purpose seems ideal, as we can immediately see what the security restrictions are by looking at controller methods.

We've seen the different ways in which we can configure routing, in other words, turning browser requests into actions. We looked at code-based and attribute-based routing and learned about some of their strengths and limitations. We found out how we can restrict URL parameters to be of certain types or match certain requirements, as well as how to prevent an action method from being called unless it matches a specific verb, HTTPS requirement, or request content type. Finally, we looked at how to use routes to direct to status code or error specific actions so as to return friendly error pages.

Quite a few of the topics covered in this chapter will surface again in later chapters. In the next chapter, we will be talking about probably the most important pieces of MVC, which were also the main subject of this chapter: controllers and actions.

主站蜘蛛池模板: 湟中县| 专栏| 保康县| 沭阳县| 廉江市| 嘉峪关市| 永修县| 黄平县| 静海县| 清水河县| 建瓯市| 黔江区| 临泉县| 芜湖县| 山东| 宜都市| 枣阳市| 深泽县| 若尔盖县| 寻乌县| 民权县| 平江县| 蓬溪县| 峨眉山市| 西宁市| 察隅县| 大竹县| 白银市| 奉化市| 邓州市| 靖西县| 邓州市| 前郭尔| 阿坝县| 凤山县| 嘉善县| 新竹市| 鹤庆县| 朝阳区| 灯塔市| 南江县|