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}"); }
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); } }