간단한 문제입니다. 추가 데이터베이스 연결을 사용하는 응용 프로그램의 개념 증명 (proof-of-concept)을 수행 중이므로 데이터베이스를 둘러 쌀 수있는 WCF 서비스를 만듭니다. 다중 사용자 환경에서는 로컬 시스템에 클라이언트 응용 프로그램이있는 중앙 집중식 서버에이 서비스가 설치됩니다. 이러한 사용자는 방화벽 문제를 자동으로 처리해야하므로 허용됩니다.WCF 서비스 및 방화벽 ... 문제가 있습니까?
그러나 단일 사용자 환경에서는 서비스 및 클라이언트 응용 프로그램이 단일 시스템에서 실행됩니다. 서비스 호스트는 현재 명확한 모양을 가지고 있지는 않지만 응용 프로그램 자체 또는 Windows 서비스로 호스트 될 가능성이 큽니다.
클라이언트 응용 프로그램은 서비스에 액세스하는 간단한 방법이 필요한 WIN32 Delphi 응용 프로그램입니다. 단일 사용자 버전은 다중 사용자 버전과 동일한 방식으로 서버에 액세스해야합니다. 즉, SOAP 클라이언트처럼 작동하고 WSDL을 가져 와서 Delphi 코드로 변환해야합니다.
여전히 문제는 없지만 가장 중요한 문제 인 연결 포트를 폐쇄 한 방화벽과 관련하여이 설정에서 발생할 수있는 문제를 고려해야합니다.
그래서이 단일 사용자 환경에서 발생할 수있는 방화벽 문제에 대해 알고있는 사람이 있습니까?
기본적으로 WCF 채널을 사용할 수 있지만 Delphi는 일종의 HTTP 바인딩에 연결하는 것을 좋아합니다. 여전히 개념 증명이므로 다른 대안이 아직 열려 있습니다. –
"Win32"델파이가 비 (非) .NET을 의미하는지, 델파이의 지식이 zilch인지 확실하지 않은 로컬 전용 자료에 대한 최상의 옵션으로 netNamedPipeBinding이 추가되었습니다. – nitzmahone
예, 델파이는 내 옵션을 약간 제한하는 non-NET입니다. 명명 된 파이프 솔루션을 사용하여 명명 된 파이프 클라이언트를 작성하는 방법을 알아 보겠습니다. 명명 된 파이프에 대한 경험이 있습니다. .NET에서 데이터를 보내는 방법을 모르겠습니다. 그래서, POC에 대한보다 기본적인 HTTP 솔루션이 선호됩니다 ... –