asp.net-mvc – 是否可以将大量数据从控制器传递到MVC3中的viewm
每次调用新页面时,我都有代码通过viewmodel将近1MB的数据从我的控制器传递到视图.我可以稍微优化一下,但我想知道这是否值得做,因为数据流都是内部的.
我在控制器中执行的典型操作是从Azure数据存储区获取所有测试结果,然后将它们放入类的新实例中.然后我将这个班级和其他人传递到视图上.我想我不确定.数据是通过引用传递还是将实际数据从一个地方移动到另一个地方? 任何人都有MVC3性能调优方面的经验吗? 这是一个组成的例子.在这个例子中,很容易将“TestData”类和内容传递给视图,但是我只需要这个类中的几个项目.所以我想知道我是否应该在控制器中添加逻辑并在视图模型中为这些项添加字段,或者只是不打扰并移动所有类数据,包括我不需要的数据. public class testIndexViewModel { public string Url { get; set; } public PageMeta PageMeta { get; set; } public TestData TestData { get; set; } } 谢谢, 解决方法
您创建的ViewModel类将添加到ViewDataDictionary中,您编译的自定义View类通过其基本System.Web.Mvc.ViewPage< ViewModelType>进行访问.类.所有这些意味着我非常确定你的ViewModel – 一旦创建 – 总是通过引用访问,而不是复制到该地方.
您可能遇到的唯一性能问题(我想)是首先创建一个1MB的对象;您可能会创建多少这些对象,以及频率如何? 就个人而言,如果没有首次负载测试并注意到它实际上导致了问题,我不担心性能优化.如果确实如此,并且您的应用程序在任何时候只需要一小部分数据,那么您可以构建优化. 最后,如果您的View中有代码来筛选您的1MB数据并选择您想要显示的部分,您可能只想传递View所需的数据,以使代码更具可读性,并且更好地分离Controller和View的职责. http://en.wikipedia.org/wiki/Premature_optimization#When_to_optimize (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET MVC Web API2 AngularJS授权和身份验证
- asp.net-mvc – 如何在会话较少的负载平衡环境中配置dotNet
- asp.net-mvc-4 – htmlHelper与局部视图
- asp.net-mvc – 在asp .net mvc 5中预编译razor视图
- asp.net-mvc-3 – ASP.Net MVC 3:在html.DropDownListFor中
- asp.net – 无法在ASP应用程序中调试某些aspx页面
- asp.net-mvc – EF代码首先不生成表
- ASP.NET程序员常用的85个工具
- asp.net – 如何使用MVC 4和View Models(强类型)渲染一组复
- asp.net-mvc-3 – 带有asp.net mvc 3的$ajax内的相对URL