2011-11-18 4 views
3

asp.net 웹 서버와 Windows C++ 응용 프로그램에서 통신하는 가장 효율적인 방법을 찾아야합니다. Windows 응용 프로그램은 asp.net 웹 서버의 데이터베이스에 액세스 할 수있는 권한이 없습니다.. NET에서 Windows 응용 프로그램에 웹 서버 간의 통신을 만드는 방법

사용자가 버튼을 누르면 C++ 응용 프로그램에서 몇 바이트의 해당 동작을 수신해야합니다.

그 답례로 C++ 응용 프로그램에서 데이터를 처리 한 후 결과가 웹 서버로 되돌려 보내집니다.

  • 는 C++ 응용 프로그램이 해당 웹 호출합니다 :

    • asp.net 웹 서버가 두 개의 웹 서비스 방법이있을 것이다 : 나는 순간에 생각할 수

      있는 유일한 방법은 다음과 같습니다 간격에 대한 메소드의 서비스. 변경이 있으면 C++ 응용 프로그램이 처리합니다.

    • C++ 응용 프로그램이 프로세스를 완료 한 후 해당 웹 서비스의 메소드를 호출하여 결과를 알립니다.

    이러한 종류의 통신을 해결하는 다른 방법은 없습니까?

    미리 감사드립니다.

  • 답변

    2

    C++ 응용 프로그램도 Windows에 있으면 명명 된 파이프가 좋은 해결책이 될 수 있습니다. 양쪽에 메시지를 수신 할 준비가되어 있지 않고 사용하기가 쉬우면 메시지 대기열에 보관할 수 있도록 내구성이 있도록 구성 할 수 있습니다. 그들은 기본적으로 당신이 읽고 쓸 수있는 파일처럼 보이고 데이터는 "파이프"의 다른쪽에 나타납니다.

    여기 문서 (C++)를 살펴 보자 : http://msdn.microsoft.com/en-us/library/aa365781(v=VS.85).aspx

    당신이 .NET API의 사용하는 것과 ASP.NET 측면에서. http://msdn.microsoft.com/en-us/library/bb546085.aspx (이 예제에는 클라이언트 코드와 서버 코드가 모두 포함됩니다.)

    C++ 응용 프로그램이 ASP.NET 응용 프로그램과 동일한 실제 서버에 있으면 명명 된 파이프가 훌륭한 솔루션이됩니다. 이 경우 OS는 프로세스간에 메모리를 이동하는 것이므로 매우 빨라질 수 있습니다.

    또한 C++ 응용 프로그램을 Windows 서비스로 구성하여 항상 사용할 수 있으며 실행중인 서버가 다시 시작될 때 다시 시작할 수 있습니다. 실행 상태를 유지하는 것이 성능 카운터를 통합 한 다음 운영 팀이 카운터를 모니터링하여 예상 임계 값 내에서 작동하는지 확인하는 것이 매우 중요합니다.

    1

    는 C++ 응용 프로그램은 간단한 가 웹 서버는 사용자가 웹 서비스를 노출하고 싶지 않은 경우에 처리 할 수있는 충분한 정보와 또는 POST 요청을 GET 할 수 있습니다.

    +0

    C++ 응용 프로그램에서 가져 오기 및 게시를 사용하여 웹 서비스를 호출하는 방법에 대한 정보를 제발 주시겠습니까? – olidev

    +0

    http://scumways.com/happyhttp/happyhttp.html에는 모든 소스 코드가 있습니다. –

    1

    네트워크 소켓을 사용할 수 있습니다. 내가 그 (것)들과 무언가를 한 이후로 나는 많은 도움이 될 수 없다. Winsock (Windows 소켓 API라고도 함) 연구

    WCF 서비스를 사용하고 C++ 클라이언트를 사용하여 WCF 서비스에 연결할 수 있습니다. C++ 클라이언트에서 소비하는 WCF 서비스를 연구해야합니다.

    마찬가지로 @parapura는 간단한 HTTPRequest를 사용하여 & 개의 게시물 메소드를 사용할 수 있다고 제안했습니다. 응답을 사용자 정의하기 위해 이러한 요청에 대해 사용자 고유의 http 핸들러를 작성할 수 있습니다.

    간단한 웹 서비스를 사용할 수 있다고 제안했습니다.

    관련 문제