Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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
Asp.net mvc 使用Web API作为网站的数据提供者是否有效?_Asp.net Mvc_Performance_Asp.net Web Api_Connection_Asp.net Webpages - Fatal编程技术网

Asp.net mvc 使用Web API作为网站的数据提供者是否有效?

Asp.net mvc 使用Web API作为网站的数据提供者是否有效?,asp.net-mvc,performance,asp.net-web-api,connection,asp.net-webpages,Asp.net Mvc,Performance,Asp.net Web Api,Connection,Asp.net Webpages,我在考虑用WebAPI建立一个项目。基本上先构建API,然后使用此API编程网站 虽然这听起来很有希望,但我想知道: 如果我以一种很好的方式分离逻辑,我可能最终会通过多个API调用检索网页上的数据,而这些API调用又是与服务器的多个连接,并带来所有开销等 例如,如果我在一个页面上使用8个不同的API调用,我无法想象它不会对web页面的性能产生影响 那么,我是否误解了什么?或者这种开销可以忽略不计——或者需要多次调用是否表明设计是错误的 提前感谢。大多数现代浏览器支持6-8个到同一站点的并行连接。

我在考虑用WebAPI建立一个项目。基本上先构建API,然后使用此API编程网站

虽然这听起来很有希望,但我想知道: 如果我以一种很好的方式分离逻辑,我可能最终会通过多个API调用检索网页上的数据,而这些API调用又是与服务器的多个连接,并带来所有开销等

例如,如果我在一个页面上使用8个不同的API调用,我无法想象它不会对web页面的性能产生影响

那么,我是否误解了什么?或者这种开销可以忽略不计——或者需要多次调用是否表明设计是错误的


提前感谢。

大多数现代浏览器支持6-8个到同一站点的并行连接。所以你一定要小心。除非您连接到那么多单独的系统,否则我将尝试减少连接的数量。或者确保调用由不同的事件异步调用,以减少并行连接的机会。

进行一系列HTTP调用以获取页面数据将产生开销。只有测试才能告诉您这可能会对您的场景产生什么影响


仅仅因为您可以,所以使用WebAPI没有什么意义。构建RESTful API应该有合理的理由。即使如此,如果它主要是为了您自己的消费,那么设计它以在一次调用中为每个页面提供一个ViewModel。

好的,我们做到了。Web API服务器提供对所有数据的REST访问。独立的UI客户端将其作为基础Perience的唯一访问点

第一个请求需要一些时间。它明显更长。它必须初始化所有UI客户机内容,并从服务器获取最不需要的数据。(菜单、用户、访问权限、元数据…列表视图数据)

第二点、第三点隐藏着真正的优势。。。要求UI客户端上已经有很多东西了。甚至,如果再次请求,也可以引入缓存(服务器、客户端,两者都可以)

因此,这将意味着更多的请求(至少在UI客户端启动期间)。。。但这并不意味着。。。较慢的应用程序

关注点分离中,维护好处是隐藏的(可能不是隐藏的,应该是显而易见的)。在服务器上,我们不再解决将用户数据处理、基本控制器或子控制器放置在何处的问题。。。如果母版页出现,布局控制器


解决了。我们正在关注通过REST发布的单个特定内容。一种方法,一种业务操作。如果我们想让该应用程序保持活力并成为维修人员和扩展器,这就是我们的梦想。

一个方面是,您可以非常快速地向最终用户显示页面。加载页面后,使用Jquery异步调用和任何Javscript模板工具(如angularjs或mustacheJs)同时调用web api以构建客户端页面视图


我在多个项目中使用过这种方法,用户体验非常好。

您好,我可以看看您的任何项目来了解用户体验吗?我计划使网站使用web API和angularJS