public void AddFriend(FriendRequest fr) { for (int i = 0; i < Config.Instance.NumberOfReplicas; i++) { string addr; lock (indexLock) { addr = replicas[(serverAddressToCall + i) % Config.Instance.NumberOfReplicas]; } IClientServices obj = (IClientServices)Activator.GetObject(typeof(IClientServices), addr + "/ClientServices"); if (obj != null) { try { obj.AcceptFriendRequest(fr); return; } catch (IOException) { } catch (SocketException) { } } } throw new ServiceUnavailableException("Unable to contact any server."); }