Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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
Performance 防止请求垃圾邮件_Performance_Http_Map_Geospatial_Webrequest - Fatal编程技术网

Performance 防止请求垃圾邮件

Performance 防止请求垃圾邮件,performance,http,map,geospatial,webrequest,Performance,Http,Map,Geospatial,Webrequest,场景 以地图为特征的客户端应用程序。地图是一个交互式控件,在移动/缩放时,它将从平铺服务器请求平铺(根据需要)——在本例中为a。当用户在交互式地图上移动时,互动程序服务器接收对互动程序的请求让我们想象一下,客户端可以发出的请求数量没有限制。 问题 当用户快速移动时,对磁贴服务器的请求会堆积起来。磁贴服务器陷入困境,无法及时提供磁贴 此外,按照请求顺序响应平铺请求队列。因此,用户可以从佛罗里达州到加利福尼亚州,在看到加利福尼亚州的任何瓷砖之前,必须等待佛罗里达瓷砖加载 问题 我们如何提高客户的感

场景

以地图为特征的客户端应用程序。地图是一个交互式控件,在移动/缩放时,它将从平铺服务器请求平铺(根据需要)——在本例中为a。当用户在交互式地图上移动时,互动程序服务器接收对互动程序的请求让我们想象一下,客户端可以发出的请求数量没有限制。

问题

当用户快速移动时,对磁贴服务器的请求会堆积起来。磁贴服务器陷入困境,无法及时提供磁贴

此外,按照请求顺序响应平铺请求队列。因此,用户可以从佛罗里达州到加利福尼亚州,在看到加利福尼亚州的任何瓷砖之前,必须等待佛罗里达瓷砖加载


问题

我们如何提高客户的感知绩效

在快速平移时,客户端可以采用哪些策略来防止大量请求?快速缩放

服务器端可以采用哪些策略来确定请求是否不再需要或优先级是否应该降低


可能的解决方案

在Tile服务器前面放置一个自定义代理,这样就可以使用时间戳请求Tile——以后的Tile总是接收优先级。代理还可以实现允许客户端应用程序放弃请求的功能


提前感谢。

我研究了各种停止图像加载的解决方案。但在浏览器已经开始下载图像时,似乎还没有人找到停止加载图像的方法

所以,我可以推荐其他选择。浏览器限制每个域并行下载2次。所以,这意味着您需要从不同的子域加载不同位置的图像,以便浏览器可以并行加载多个位置

因此,假设加利福尼亚州的图像来自:

california.yourwebsite.com/images

佛罗里达州图片来源:

florida.yourwebsite.com/images

此外,您可以为不同的缩放级别使用不同的子域,这样,如果特定缩放级别的图像仍在加载,并且用户更改缩放级别,浏览器可以立即下载新的缩放级别图像

zoom10.florida.yourwebsite.com/images

为此,您需要从域面板创建到Web服务器的*.yourwebsite.com DNS映射


这是否回答了您的问题?

问题不在于浏览器请求的限制(因为客户端没有在浏览器中运行)。感谢您查找“停止图像加载”。这对我来说是个大问题:是否可以取消请求?我认为只有一种方法可以起作用,那就是使用一个代理,等待请求得到响应或收到取消。如果您有一个桌面应用程序,那么解决方案很简单,只需增加system.net maxConcurrentConnection每个IP的限制。默认情况下,桌面应用程序只能向IP发出2个并发请求。您可以在app.Config中增加该值。看看这个:问题不是机器不能发出请求。问题是,当发出请求时,会给磁贴服务器增加更多负载。这意味着请求但不需要的磁贴仍然需要由磁贴服务器处理。同意,但我假设磁贴是静态图像,而不是动态生成的图像。在这种情况下,负载最小。我的直觉告诉我,大约30%的图像负载将被浪费,而不仅仅是浪费。所以,30%的额外静态图像交付不应该对您的Web服务器造成可见问题。在这种情况下,您应该完全控制图像加载。你是如何加载图像的?