내 프로그램은 여러 가지 메서드를 게시하고 여러 클라이언트가있는 WCF 서비스입니다. 데이터베이스의 클라이언트 목록을 저장합니다. 일부 메서드에서는 데이터베이스에서 호출자의 데이터를 쿼리해야합니다. 이 question How can service know the caller?과 연결된 대답 Get the Client’s Address in WCF은 발신자의 IP를받는 방법을 보여줍니다. 그러나 일반적으로 클라이언트 테이블의 주소 필드에는 IP가 없지만 다음과 같은 것들이 있습니다.두 종점 주소가 같은지 어떻게 확인할 수 있습니까?
http://localhost:80/
http://computerName:80/
http://computerName.domain.com:80/
유효한 끝점 주소는 다음과 같습니다. 연결된 솔루션에서 솔루션을 사용한다고 가정 해 보겠습니다. 발신자의 IP 주소 (예 : http://192.80.212.21:80/
)를 얻습니다. 그러나 데이터베이스에서 클라이언트는 http://computerName:80/
으로 저장됩니다.이 두 주소가 같은지 확인하여 데이터베이스에서 해당 클라이언트의 항목을 가져올 수 있습니까?
클라이언트 수가 매우 적으므로 데이터베이스의 모든 행을 반복 할 때 발생하는 성능 문제는 무시할 수 있습니다.
'http : // localhost : 80 /'및'http : // computerName : 80 /'은 동일하지 않습니다. 첫 번째 항목은 컴퓨터 외부에서 액세스 할 수 없습니다. 그러므로 다르다. – Aliostad
참으로. 그러나 클라이언트가 동일한 컴퓨터에서 온 경우 주소를 입력 한 사람이 데이터베이스에 입력 할 수 있으며 동일하게 작동합니다. –