相关疑难解决方法(0)

URL中的点导致404使用ASP.NET mvc和IIS

我有一个项目,要求我的URL在路径中有点.例如,我可能有一个URL,例如www.example.com/people/michael.phelps

带点的网址生成404.我的路由很好.如果我通过michaelphelps,没有圆点,那么一切正常.如果我添加点我得到404错误.示例站点在带有IIS8 Express的Windows 7上运行.URLScan未运行.

我尝试将以下内容添加到我的web.config中:

<security>
  <requestFiltering allowDoubleEscaping="true"/>
</security>
Run Code Online (Sandbox Code Playgroud)

不幸的是,没有什么区别.我刚收到404.0 Not Found错误.

这是一个MVC4项目,但我不认为这是相关的.我的路由工作正常,我期望的参数在那里,直到它们包含一个点.

我需要配置什么才能在网址中加点?

iis asp.net-mvc iis-7 iis-express iis-8

298
推荐指数
7
解决办法
9万
查看次数

"没有找到您要查的资源." 在网址末尾有"点"时出错

我正在使用ASP .NET MVC Beta,当我使用这个最后有一个"点"的url时,我得到HTTP 404(无法找到资源)错误:

http:// localhost:81/Title/Edit/Code1.

如果我在末尾删除点或点在中间某处我没有得到错误.

我尝试调试,但它在MvcHandler中的ProcessRequest之前从"System.Web.CachedPathData.GetConfigPathData(String configPath)"得到错误.

网址末尾不允许使用"点"吗?或者有没有办法修复路由定义来处理这个URL?


举个例子:我有一个名为Detail1 [Id(整数),Code(string),Description(string)]的表,它与Master1通过它的Id列有FK关系.每当我选择Master1的记录时,我也会选择它的Detail1记录来获取它的Code字段.为了不每次都进行这种连接(因为通常不仅有一个细节,还有不止一个)我选择不使用Id列,而是制作Detail1的Code PK.

但是当我摆脱Id并使用Code作为PK时,我的路由也开始使用Code字段,如:Detail1\Edit\Code1

本规范可以包含任何内容或最终内容,包括DOT.在某些情况下,我可以在最后禁止DOT,但有时它确实很有意义.

而且我也看到这篇帖子说路线非常灵活,所以我觉得我的路线不那么奇怪.

所以这就是为什么我做一些非标准的事情.有什么建议?

还有为什么在网址末尾有一个DOT是如此奇怪?

.net asp.net-mvc routing routes

51
推荐指数
4
解决办法
2万
查看次数

标签 统计

asp.net-mvc ×2

.net ×1

iis ×1

iis-7 ×1

iis-8 ×1

iis-express ×1

routes ×1

routing ×1