ASP.NET路由:令牌之间的字面子段和来自文字子段的字符的路由值
发布时间:2020-05-30 06:29:08 所属栏目:asp.Net 来源:互联网
导读:我问的原因是因为IIS保护某些ASP.NET文件夹,如Bin,App_Data,App_Code等.即使URL不映射到实际的文件系统文件夹IIS也拒绝一个URL,其路径段等于提到的名字. 这意味着我不能有这样的路线: {controller}/{action}/{id} …其中id可以是任何字符串,例如 Catalog/Pro
|
我问的原因是因为IIS保护某些ASP.NET文件夹,如Bin,App_Data,App_Code等.即使URL不映射到实际的文件系统文件夹IIS也拒绝一个URL,其路径段等于提到的名字. 这意味着我不能有这样的路线: {controller}/{action}/{id}
…其中id可以是任何字符串,例如 Catalog/Product/Bin 所以,而不是禁用这个安全措施,我愿意改变路由,使用id之前的后缀,像这样: {controller}/{action}_{id} // e.g. Catalog/Product_Bin
{controller}/{action}/_{id} // e.g. Catalog/Product/_Bin
但是如果id包含新的分米,则这些路由将不起作用,在这种情况下,例如, // These URL won't work (I get 404 response) Catalog/Product_Bin_ Catalog/Product/_Bin_ Catalog/Product/__Bin 为什么?我不知道,看起来像一个bug给我.我如何使这些路由工作,其中id可以是任何字符串? 解决方法好的,我有一个明确的答案.是的,这是一个bug.然而,在这一点上,我很遗憾地说,我们没有计划解决它有几个原因:>这是一个突破性的变化,可能很难注意到这一点. 您可以做的是将URL更改为不具有下划线: {controller}/{action}/_{id}
然后添加一个路由约束,要求ID参数以下划线字符开始. 然后在您的操作方法中,从id参数中减去下划线前缀.如果你喜欢,你甚至可以写一个动作过滤器来为你做这个.抱歉给你带来不便. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 缺少版本和工具:.NET Core,Core Tools,dotnet Core CLI,
- asp.net-web-api – asp.net web api self hosting / owin
- asp.net-mvc – 我的剃刀视图的自定义基页类型,如何使用城堡
- asp.net-mvc – 什么是Owin rememberBrowser做什么?
- asp.net-mvc – MVC的实际应用||什么时候使用,还是不使用MV
- ASP.NET MVC 3 Razor – jQuery Intellisense
- asp.net-mvc – 为什么MVC控制器必须在其类名上具有尾随的’
- ASP.NET WebForm的“页面生命周期”是什么?
- 在asp.net中输入密钥发出错误按钮
- 在asp.net中读取查询字符串而不指定任何页面名称
推荐文章
站长推荐
- asp.net – Request.ServerVariables [“REMOTE_
- asp.net-mvc – 使用ASP.NET MVC中绝对路径访问视
- 登录ASP.NET – 最佳实践
- iis – w3wp.exe占用内存
- asp.net – 来自asp app的流媒体mime类型’appli
- 如何在ASP.Net项目中包含jQuery?
- asp.net-mvc – 测试ASP.NET MVC网站
- asp.net-web-api – ASP.NET WebAPI OData – 继
- WCF WebServiceHostFactory MaxReceivedMessageS
- 关闭一个子目录的ASP.Net WebForms身份验证
热点阅读
