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

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.

主站蜘蛛池模板: 蒙阴县| 新闻| 镇宁| 东辽县| 卓资县| 资阳市| 南丰县| 大关县| 澄迈县| 杭锦旗| 道孚县| 车致| 广东省| 靖江市| 新野县| 资阳市| 招远市| 罗定市| 江永县| 洛宁县| 海门市| 清苑县| 和田市| 保靖县| 兴隆县| 桑植县| 盐城市| 丹寨县| 黄大仙区| 石门县| 紫云| 武宣县| 天水市| 建德市| 潍坊市| 巴林右旗| 靖远县| 永寿县| 西吉县| 乡宁县| 嘉荫县|