Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 最好只使用客户端数据调用或服务器端的组合+;客户(混合方法)_C#_Asp.net - Fatal编程技术网

C# 最好只使用客户端数据调用或服务器端的组合+;客户(混合方法)

C# 最好只使用客户端数据调用或服务器端的组合+;客户(混合方法),c#,asp.net,C#,Asp.net,看起来趋势正在从服务器控件转向客户端服务调用来填充视图 也就是说,我目前有一个使用所有服务器端控件的web应用程序。我希望提高性能,并且我知道通过wcf/mvc进行后续调用(一旦页面加载)将始终赢得性能方面的支持,因为它跳过了页面生命周期,并且不必不必要地更新内容 但是,如果我的页面必须执行初始页面生命周期,那么继续填充控件数据服务器端,而不是让页面加载,然后必须向服务器发出另一个请求,这难道没有意义吗?这对我来说似乎比较慢,虽然我想你可以把东西装成碎片。也许MVC解决了这个问题,但我使用常规的

看起来趋势正在从服务器控件转向客户端服务调用来填充视图

也就是说,我目前有一个使用所有服务器端控件的web应用程序。我希望提高性能,并且我知道通过wcf/mvc进行后续调用(一旦页面加载)将始终赢得性能方面的支持,因为它跳过了页面生命周期,并且不必不必要地更新内容

但是,如果我的页面必须执行初始页面生命周期,那么继续填充控件数据服务器端,而不是让页面加载,然后必须向服务器发出另一个请求,这难道没有意义吗?这对我来说似乎比较慢,虽然我想你可以把东西装成碎片。也许MVC解决了这个问题,但我使用常规的asp.net(MVC仅用于某些服务调用)

所以我的问题是,在客户端做每件事真的能提高性能吗?还是像我上面提到的那样使用混合方法有意义?我更关心我的初始页面加载时间,而不是其他任何事情

但是,如果我的页面必须执行初始页面生命周期,它会不会 继续并填充控件数据服务器端,而不是 而不是让页面加载,然后不得不向 服务器

正确,第一次加载页面时不填充控件不会带来任何好处,因为正如您所说的,您仍然需要调用服务器来收集数据并生成适当的标记。因此,在您的场景中,就性能而言,混合方法是有意义的


话虽如此,我认为混合方法通常会变得很麻烦,并且会出现
ViewState
不同步等问题。如果可以避免这种情况,那么如果您计划在客户端执行所有操作,并以“正确”的方式执行Ajax,请坚持使用纯MVC。

您应该分析代码,看看页面加载缓慢的真正原因是什么。通常情况下,不是服务器端控件,而是填充控件的数据库和web服务调用。因此,我不清楚您真正的问题是什么,您的问题的标题是在纯web服务或服务器端控件与web服务的组合之间进行选择。然后,你的问题是,你应该在客户端做所有事情,还是使用混合方法,这种混合方法是否涉及服务器端控件,还是仅仅让服务器端构建视图模型?客户端是,但我会调用wcf/mvc服务来获取数据,而不是仅仅在初始页面渲染服务器端进行。我编辑了问题标题。看起来这是干净代码与额外性能提升之间的权衡。