У меня есть серверное и клиентское приложение, использующее HTTPS-соединение WCF. Они оба используют сертификат, и поэтому клиенту необходимо использовать DNS для подключения к серверу.
В файле хостов системы в разделе «C:\Windows\System32\drivers\etc» есть правильно является записью, которая сопоставляет DNS-имя с IP-адресом сервера.
Клиентское приложение является одним ко многим, что означает, что оно позволяет пользователю вводить IP-адрес сервера, и оно создаст связь. Клиентское приложение неявно обновляет строку в системном файле хостов, связанную с этим DNS, включая этот IP-адрес, и передает DNS соединению.
Все это работает без проблем на любом сервере в сети. различных системах без проблем при первом запуске приложения. Он обновит файл хостов и правильно подключится к любому серверу.
Проблема, с которой я столкнулся, заключается в том, что при отключении, а затем повторном подключении к другому IP-адресу, соединение продолжает устанавливаться по первому IP-адресу, с которого клиент подключился к этому экземпляру клиентского приложения.
Файл хостов обновляется без проблем с новым IP-адресом, но для некоторых причина, по которой соединение все равно идет к исходному. Еще раз все это работает при перезапуске клиента и последующем вводе другого IP-адреса. Кажется, что-то где-то кэшируется для соединения WCF при попытке отключиться/повторно подключиться под одним экземпляром клиента.
У кого-нибудь была такая проблема? Кто-нибудь знает, как обновить любой тип кеша, который может существовать для соединения WCF?
Подробнее здесь: https://stackoverflow.com/questions/786 ... connection