为了账号安全,请及时绑定邮箱和手机立即绑定

网址末尾出现“点”时出现“找不到资源。”错误

网址末尾出现“点”时出现“找不到资源。”错误

繁星淼淼 2019-11-15 13:19:08
我正在使用ASP .NET MVC Beta,当我使用此URL末尾带有“点”的URL时,出现HTTP 404(找不到资源)错误:http:// localhost:81 / Title / Edit / Code1。如果删除末尾的点或中间的某点,则不会出现错误。我尝试调试,但是在MvcHandler中的ProcessRequest之前,我从“ System.Web.CachedPathData.GetConfigPathData(String configPath)”中收到错误。网址末尾是否不允许使用“点”?还是有办法修复路由定义以处理此URL?例如:我有一个名为Detail1 [Id(integer),Code(string),Description(string)]的表,该表通过其ID列与Master1具有FK关系。每当我选择Master1的记录时,我也会选择它的Detail1记录以获取它的Code字段。为了不每次都进行此联接(因为通常不仅只有一个细节,而且有多个细节),所以我选择不使用Id列,而是制作Detail1的代码PK。但是,当我摆脱Id并将Code用作PK时,我的路线也开始与Code字段一起使用,例如:Detail1 \ Edit \ Code1该代码中可以包含任何内容,也可以包含DOT。在某些情况下,我可以在最后禁止DOT,但有时确实很有意义。而且我还看过这篇文章,路线可能非常灵活,所以我认为我的想法并不奇怪。所以这就是为什么我做一些非标准的事情。有什么建议么?还有为什么在网址末尾有DOT太奇怪了?
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

如果使用的是.NET 4.0,则可以在web.config的system.web部分中设置此标志,并且将允许该标志:


<httpRuntime relaxedUrlToFileSystemMapping="true" />

我已经对其进行了测试,并且可以正常工作。Haack对此有一个解释。


查看完整回答
反对 回复 2019-11-15
?
米脂

TA贡献1836条经验 获得超3个赞

好吧,在.NET 4.5中,我通过在网址末尾添加“ /”来解决此问题。


因此,在您的情况下,它将是“ http:// localhost:81 / Title / Edit / Code1。/”。这是我所做的唯一一件事,无需添加httpRuntime设置。


查看完整回答
反对 回复 2019-11-15
  • 3 回答
  • 0 关注
  • 513 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信