.NET Framework4.5向RouteCollection添加了一个新属性:
http://msdn.microsoft.com/en-us/library/system.web.routing.routecollection.lowercaseurls.aspx
这非常有效,直到您向项目中添加了一个区域。所有的Urls都是大小写的。
你知道为什么会发生这种情况吗?它很容易重现:
它在AreaRegistration.RegisterArea中执行context.MapRoute时中断。当我注释掉它时,我得到了小写的Urls。取消对它的注释,则会返回相应的Urls。
在我看来,微软似乎知道这是一个错误,并没有宣传这一新功能,因为它是一个非常棒的功能,但它只在MSDN文档中提到。
发布于 2012-12-07 07:22:06
这似乎确实是ASP.NET MVC和ASP.NET 4.5的路由中新的LowercaseUrls特性之间交互的一个bug。
我在这里记录了一个MVC的bug:http://aspnetwebstack.codeplex.com/workitem/685
感谢您的报道!
正如Cristi Pufu提到的,似乎其他人已经编写了一些NuGet包来处理类似的场景:
EDIT 2013年4月23日-我们最近接受了一个拉入请求,并修复了ASP.NET MVC5的此问题。
https://stackoverflow.com/questions/13271048
复制相似问题