gpt4 book ai didi

asp.net-mvc - 使用区域时.NET 4.5 MVC RouteCollection.LowercaseUrls 中断

转载 作者:行者123 更新时间:2023-12-02 08:03:13 26 4
gpt4 key购买 nike

.NET Framework 4.5 添加了 RouteCollection 的新属性:

http://msdn.microsoft.com/en-us/library/system.web.routing.routecollection.lowercaseurls.aspx

这非常有效,直到您将区域添加到项目中为止。所有网址均再次正确大小写。

有什么想法为什么会发生这种情况吗?重现起来很简单:

  1. 创建新的 MVC 4 Internet 应用程序 (.NET 4.5)
  2. 启动 RouteConfig.RegisterRoutes 函数:routes.LowercaseUrls = true;
  3. 运行该项目,您将看到所有生成的网址现在都是小写的。
  4. 向项目添加区域。
  5. 再次运行该项目,您将看到所有网址再次变为正确大小写!

它在 AreaRegistration.RegisterArea 中执行 context.MapRoute 时中断。当我注释掉它时,我得到了小写的 URL。取消注释,正确的 URL 就会回来。

在我看来,微软知道这是有问题的,并且没有宣传这个新功能,因为它确实是一个很棒的功能,但只在 MSDN 文档中提到过。

最佳答案

这确实是 ASP.NET MVC 和 ASP.NET 4.5 路由中新的 LowercaseUrls 功能之间的交互中的一个错误。

我在这里记录了 MVC 的错误:http://aspnetwebstack.codeplex.com/workitem/685

感谢您报告此事!

正如 Cristi Pufu 提到的,其他人似乎已经编写了一些 NuGet 包来处理类似的场景:

编辑 2013 年 4 月 23 日 - 我们最近接受了一个 Pull 请求,其中修复了 ASP.NET MVC 5 的此问题。

关于asp.net-mvc - 使用区域时.NET 4.5 MVC RouteCollection.LowercaseUrls 中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13271048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com