private void ArcGISHttpClientHandler_HttpRequestBegin(object sender, System.Net.Http.HttpRequestMessage e)
        {
            if (!e.RequestUri.PathAndQuery.Contains("/MapServer/tile/"))
            {
                return;
            }

            var requestDetails = TileRequestDetails.Parse(e.RequestUri, _navigationId);

            UpdateCount(requestDetails);
            _temporaryRequestList.Enqueue($"{requestDetails.MapService} LoD {requestDetails.Level}");
        }
Example #2
0
        private void UpdateCount(TileRequestDetails requestDetails)
        {
            string key = $"{requestDetails.Level}_{requestDetails.NavigationId}_{requestDetails.MapService}";

            if (_requestDictionary.TryGetValue(key, out var info))
            {
                info.Tiles = info.Tiles + 1;
            }
            else
            {
                requestDetails.Tiles = 1;
                _requestDictionary.TryAdd(key, requestDetails);
            }
        }