我应该只从控制器返回Json对象吗?

时间:2017-05-30 11:43:06

标签: c# json asp.net-mvc

我正在使用Active Directory创建一个Intranet网站。我刚刚意识到我没有想到服务器或客户端必须要做的工作量(我从来没有真正遇到过这种问题,因为这是我的第一个大网站,也是我的第一次实习)。当我使用ASP.NET MVC时,我通过模型发送了对象,并在控制器中使用这些对象将它们传递给我的视图。有时我发回一个可能非常大的对象列表。

我读到SO使用Json对象会大大减少对象大小,所以当我的控制器或模型发送对象时,我应该这样做吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

MVC没有返回"对象",它返回HTTP响应。

如果您的意思是考虑使用从API方法(来自Web API或MVC本身)获得的JSON数据来填充页面,那么是的,通常需要更少的字节来传输,比如完整的包含HTML标记中包含相同信息的HTML页面。

但这需要一种完全不同的方法来设置应用程序。您可以使用通过AJAX调用获得的数据(例如通过AngularJS)填充HTML页面客户端,而不是填充HTML页面服务器并将其发送到客户端。

最后,你可以削减几个部分,但是它要求你将数据绑定代码从CSHtml视图移动到HTML + JS。由您决定是否最小化(您提及内联网,因此带宽不会出现问题),性能提升是否值得增加开发时间。