Моя программа - это служба WCF, которая публикует несколько методов и имеет несколько клиентов. Он хранит список клиентов в базе данных. В некоторых из методов мне нужно запросить данные вызывающего абонента из базы данных. Этот вопрос Как служба может узнать вызывающего абонента? и связанный ответ Получить адрес клиента в WCF показывает, как получить IP-адрес вызывающего абонента. Тем не менее, обычно поле адреса в моей таблице клиентов не имеет IP-адреса, а выглядит так:
http://localhost:80/
http://computerName:80/
http://computerName.domain.com:80/
Какие действительные адреса конечных точек. Давайте представим, что я использую решение в связанном ответе и получаю IP-адрес своего абонента (скажем, http://192.80.212.21:80/
). Однако в базе данных клиент хранится как http://computerName:80/
Как я могу проверить, что эти два адреса совпадают, чтобы я мог получить соответствующую запись клиента из базы данных?
Количество клиентов очень мало, поэтому проблема с производительностью при повторении каждой строки в базе данных может быть незначительной.