【问题标题】:Would you recommend using the MVC Futures library? [closed]你会推荐使用 MVC Futures 库吗? [关闭]
【发布时间】:2009-06-26 09:54:33
【问题描述】:

在 C# 中使用魔法字符串真的让我很不安,所以我正在考虑使用 MVC Futures 库。

是否有任何我不想这样做的原因,或者我应该注意的任何问题?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-futures


    【解决方案1】:

    首先,仅仅因为它是一个字符串,并不能使它成为一个“神奇”的字符串。其次,我建议您查看 David Ebbo 在这里写的 T4MVC 模板:http://blogs.msdn.com/davidebb/archive/2009/06/17/a-new-and-improved-asp-net-mvc-t4-template.aspx

    这种方法的好处是通过使用代码生成,您可以在任何地方获得强类型,并且不需要编译会损害性能的表达式。

    【讨论】:

      【解决方案2】:

      我已经使用它大约 1 个月了,非常喜欢它。例如,我喜欢新的强类型 Html 助手,它肯定比使用魔术字符串更好:

      <%= Html.TextBoxFor(m => m.User.FirstName)%>
      

      根据 MVC 路线图,此功能将成为 MVC 2 的一部分,但即使不应该,我仍然拥有期货源代码,因此我可以将此帮助器实现作为最后的手段。

      【讨论】:

        【解决方案3】:

        使用 ASP.NET MVC Futures 中的功能的风险是

        • 它们被认为不够完善,无法作为核心框架的一部分发布,因此可能会引入一些错误;
        • Microsoft 团队可能不会将它们全部合并到核心 ASP.NET MVC 包的下一个版本中或显着改变它们的行为。

        【讨论】:

          【解决方案4】:

          我认为它有一些真正应该在 MVC 库中的功能,但我会远离强类型操作链接。这可能会在 CPU 上变得非常昂贵,可能会在您的页面渲染时间中增加 SECONDS(而不是 MS)。

          http://www.chadmoran.com/blog/2009/4/23/optimizing-url-generation-in-aspnet-mvc-part-2.html

          我经常发现自己使用的 MVC 期货中可用的功能之一是 RenderAction,因为它是解决部分输出缓存的唯一方法。

          【讨论】:

          • "将 SECONDS... 添加到您的页面渲染时间" * 如果您一次渲染一万个链接。
          • StriplingWarrior,或者如果您有很多参数,您可以使用很少的链接并轻松添加至少一秒钟。
          【解决方案5】:

          不太确定期货,但我强烈推荐Mvccontrib 库,它依赖于期货中的一些位。

          【讨论】:

            猜你喜欢
            • 2013-05-10
            • 2010-10-31
            • 1970-01-01
            • 2010-09-07
            • 2011-06-29
            • 1970-01-01
            • 1970-01-01
            • 2010-09-18
            • 1970-01-01
            相关资源
            最近更新 更多