ASP.NET路由:令牌之间的字面子段和来自文字子段的字符的路由值
发布时间:2020-12-15 22:43:59 所属栏目:asp.Net 来源:网络整理
导读:我问的原因是因为IIS保护某些ASP.NET文件夹,如Bin,App_Data,App_Code等.即使URL不映射到实际的文件系统文件夹IIS也拒绝一个URL,其路径段等于提到的名字. 这意味着我不能有这样的路线: {controller}/{action}/{id} …其中id可以是任何字符串,例如 Catalog/Pr
我问的原因是因为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参数中减去下划线前缀.如果你喜欢,你甚至可以写一个动作过滤器来为你做这个.抱歉给你带来不便. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET通过自定义函数实现对字符串的大小写切换功能
- asp.net-mvc – 在Mvc ViewBag中检查成员是否存在
- entity-framework – 如何使用EF更新控制器中的对象?
- asp.net-mvc-4 – 可为空的可选url参数的ASP.NET MVC 4 RC
- 将ASP.NET updatepanel与jQuery UI DatePicker结合使用时出
- 基于 HtmlHelper 的自定义扩展Container
- asp.net-mvc – 如何阻止用户在MVC3应用程序上登录/注册和其
- asp.net app中的会话变量超时
- asp.net-mvc – ASP.NET MVC检查角色里面的视图
- .net – Autofac SignalR
推荐文章
站长推荐
- asp.net-mvc – 登录页面上的Asp.Net MVC捆绑
- asp.net政府企业网站前台+后台源码
- asp.net-core-mvc – IN MVC6返回Json(行,JsonRe
- 使用 ASP.NET Core MVC 创建 Web API——响应数据
- VS2017中建立ASP.NET MVC 4.0项目
- ASP.NET页面级缓存(带有经过身份验证的站点)
- asp.net-mvc – 为什么这个路由参数被添加到查询
- asp.net-mvc – 将依赖项注入验证属性Web Api As
- asp.net-mvc-4 – ASP.NET MVC 4会话超时
- ASP.Net – 在jQuery填充列表后没有回发的项目
热点阅读