2009-12-19 7 views
1

이 질문에 대해 중복 된 항목을 찾을 수는 없지만 솔직히 내가 먼저 물어 보지 않기를 바랍니다.NetTcpBinding을 통해 PHP의 WCF 서비스에 연결

LAN에 앉아있는 WCF 서비스가 있습니다. 내 LAN의 .NET 클라이언트의 경우 NetTcpBinding이 적절한 바인딩입니다. 그러나, 내 고객 중 하나는 PHP 웹 응용 프로그램입니다. 이 일을 할 수있는 방법이 있습니까?

업데이트 : 나는 다중 종점을 가질 수 있음을 잘 알고 있습니다. 나는 속도, 네트워크 트래픽 감소 및 nettcp의 대기 시간 부족을 PHP 애플 리케이션에서 wshttp와 비교할 수 있는지 알고 싶다.

Windows에서 실행되는 PHP 응용 프로그램이므로 COM interop 또는 .NET Interop가 작동합니다. "원시"솔루션, pecl 모듈 또는 pear 라이브러리가 있는지 궁금합니다.

+0

+1 PHP에서 NetTcpBinding을 사용하기위한 적절한 해결책을 생각해 냈습니까? 나는 여기를 찾고 있습니다. –

+0

@WillMarcouiller 나는 그것을 해본 적이 없지만 몇 가지 가능성을 추측하는 새로운 대답을 올렸다. –

답변

2

NetTcpBinding은 "WCF-to-WCF 통신을위한 것"만입니다. (MSDN)

이 바인딩은 독점 프로토콜을 사용하여 통신하며 WCF-to-WCF에 맞게 최적화되어 있으므로 상호 운용이 가능하지 않습니다.

WCF 서비스에 대해 다른 끝점을 사용할 수 있습니다. 왜 당신은 PHP 응용 프로그램에서 쉽게 소비 될 수있는 바인딩을 가진 다른 끝점을 노출하지 않습니까? (BasicHttpBinding 또는 WebHttpBinding과 같음)

+0

의미는 두 가지가 있습니다. 그러나 나는 그 문서를 검토 할 것이다. –

+0

@ Justin : WCF 서비스에 대해 다른 끝점을 사용할 수 있습니다. 왜 당신은 PHP 응용 프로그램에서 쉽게 소비 될 수있는 바인딩을 가진 다른 끝점을 노출하지 않습니까? –

0

기존 서비스 끝점에 다른 바인딩을 추가 할 수 있습니다. 그렇다면 nettcpbinding 외에 basichttp 또는 wshttp 바인딩을 추가하는 것이 어떻습니까? 설정 파일의 몇 줄에 불과하므로 코드를 변경할 필요가 없습니다.

+0

netTcp가 http를 통해 제공하는 간결함, 속도 및 대기 시간 부족을 원합니다. 귀하의 제안은 바로 지금하고 있습니다. –

0

다음 옵션은 해킹이 가능합니다. 나는이 질문을 찾는 다른 사람들을 위해 거기에 그들을 포함시킨다.

  • This

  • Phalanger는 .NET 런타임에 PHP를 해석합니다, 당신은 사용자 정의 PHP 모듈에서 호출 할 수있는 관리되지 않는 수출과 .NET 어셈블리를 만들 수 있습니다. 또한 .NET API에 대한 모든 액세스 권한을 제공합니다. 나는 이것으로 조금만 장난 꾸러기했습니다. 그러나 확실히 web.config 파일을 읽습니다. web.config의 WCF 서비스 측면을 존중하지 않으면 원래 Christian Glessner에 의해 개발 된 this PowerShell script을 코드에서 완전히 WCF 서비스 클라이언트 스텁을 구성하기위한 참조로 사용합니다.

관련 문제