Esempio n. 1
0
        private static void ServiceRequest(Request request)
        {
            string     userAgent = request.UserAgent;
            DeviceInfo current   = request.Next();

            while (current != null)
            {
                // Perform the edit distance check.
                int distance = Algorithms.EditDistance(current.UserAgent, userAgent, request.Results.MinDistance);
                if (distance <= request.Results.MinDistance)
                {
                    lock (request.Results)
                    {
                        if (distance < request.Results.MinDistance)
                        {
                            request.Results.MinDistance = distance;
                            request.Results.Clear();
                            request.Results.Add(current);
                        }
                        else if (distance == request.Results.MinDistance)
                        {
                            request.Results.Add(current);
                        }
                    }
                }
                current = request.Next();
                request.Complete();
            }
        }
Esempio n. 2
0
 private static void ServiceRequest(Request request)
 {
     string userAgent = request.UserAgent;
     DeviceInfo current = request.Next();
     while (current != null)
     {
         // Perform the edit distance check.
         int distance = Algorithms.EditDistance(current.UserAgent, userAgent, request.Results.MinDistance);
         if (distance <= request.Results.MinDistance)
         {
             lock (request.Results)
             {
                 if (distance < request.Results.MinDistance)
                 {
                     request.Results.MinDistance = distance;
                     request.Results.Clear();
                     request.Results.Add(current);
                 }
                 else if (distance == request.Results.MinDistance)
                 {
                     request.Results.Add(current);
                 }
             }
         }
         current = request.Next();
         request.Complete();
     }
 }