, как вы упомянули в заголовке, вам нужна какая-то нить (или служба), которая постоянно проверяется. Служба Windows может быть выполнена в Visual Studio, включая надлежащий установщик. Я бы использовал общий ресурс, такой как файл или базу данных, чтобы заполнить самый быстрый URL-адрес. Может быть, вы также можете использовать какое-то население через удаленный объект службой и сервером приложений. Я думаю, что вы разрабатываете службу и клиент для URL-адресов с одним и тем же доменным проектом, чтобы разделить доступ к ресурсам между проектами. В службе Windows вы можете запустить проверку URL по таймауту в потоке и так далее ...
После этого вы можете получить доступ к общему ресурсу с вашим клиентом, чтобы получить самое быстрое соединение в определенный момент. Если вам нужно больше информации об удаленных объектах или службе Windows, пожалуйста, посмотрите здесь:
http://www.codeproject.com/KB/IP/remoteobject1.aspx
http://www.csharpfriends.com/articles/getarticle.aspx?articleid=31
http://en.csharp -online.net / Creating_a_.NET_Windows_Service