-1

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

有什么我可能不想这样做的原因,或者我应该注意的任何问题吗?

4

5 回答 5

4

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

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

于 2009-06-26T17:21:14.627 回答
3

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

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

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

于 2009-06-26T09:58:03.110 回答
3

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

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

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

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

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

于 2009-06-26T11:38:29.240 回答
1

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

于 2009-06-26T12:01:51.923 回答