2010-04-08 5 views
1

사용자 정의 HTTP Module에서 다른 URL 서버 (예 : www.example.com/myModule/blabla?id=와 같은 일부 URL 네임 스페이스를 사용하는 동일한 포트에 TCP/HTTP 서버를 실행할 수 있음) anyID, 그리고 다른 서버 (예 : 강철을 www.example.com/myApach/blabla?id=anyID라고 부름) 및 다른 C \ C++ 기반 서버와 함께 아파치 HTTP 서버와 같은 다른 서버로로드 할 수 있습니까?)사용자 정의 HTTP 모듈을 독립형 HTTP 서버로 만드는 방법은 무엇입니까?

그래서 TCP/HTTP 서버로 모듈을 만들었습니다 - URL을 제공합니다 - 응답을줍니다.

내 ASP.NET 서버가 내 모듈을 호스팅하고 있습니다.

나는 ASP.NET 서버를 없애고 싶습니다. 제 모듈을 독립 실행 형 응용 프로그램으로 만듭니다.

코드 예가 ​​필요합니다 ...)

+0

나는 더 많은 정보가 필요합니다. – Lazarus

답변

1

간단한 답 : 할 수 없습니다. HttpModule은 ASP.NET 프레임 워크에 종속적인데, ASP.NET 프레임 워크는 차례로 .NET Framework에 종속되어 있으며 IIS 나 Apache와 같은 별도의 웹 서버 패키지 (많은 재구성이 필요함)가 필요합니다. 같은 포트에있는 다른 HTTP 서버 (가까이들이받은

+0

우리는 WCF 서비스를 독립적으로 호스팅 할 수 있습니다. 왜 우리는 HTTP 모듈을 호스팅합니까? – Rella

+0

WCF 서비스와'HttpModules '은 완전히 다른 서브 아키텍처로 구축되기 때문에. 그들은 단순히 같은 기술이 아닙니다. –

0

, 그냥 단지 불가능 일부 URL 네임 스페이스

을 복용. 동일한 포트에 두 개의 서로 다른 HTTP 서버를 가질 수 없습니다 하나의 웹 서버가 모든 요청을 받고 다른 포트 (또는 다른 서버)에서 실행중인 다른 웹 서버로 전달할 수있는 프록시 설정을 할 수 있습니다. 예를 들어, Apache에서 대부분의 자신을 요청한 다음 웹 응용 프로그램을 겨냥한 요청 만 전달합니다. mod_proxy을보고 "역방향 프록시"구성 엔.

+0

Dosent 창은 기본적으로이 작업을 수행합니까? 적어도 C++ HTTP 서버에서는 그런 일을하는 것처럼 보입니다 ... Google HTTP.SYS 및이 주제 인 http : // stackoverflow를 읽으십시오.com/questions/2589588/how-to-your-application-with-http-sys – Rella

+0

물론 우리는 동일한 포트에서 무제한의 WCF 서비스를 호스트 할 수 있습니다 ... 등) – Rella

0

우리 회사는 IIS가없는 자신의 .NET 응용 프로그램에서 ASP.NET 웹 응용 프로그램을 호스팅 할 수있게 해주는 "Neokernel Web Server"(http://www.neokernel.com)를 만듭니다. "demos/C# Projects"폴더의 "Bootstrapping"데모에서 응용 프로그램과 함께 Neokernel 어셈블리를 포함하고 응용 프로그램 코드에서 시작하거나 중지하는 방법을 보여주는 샘플 소스를 확인하십시오.

포트 80에서 트래픽 공유에 관해서는 Adam Maras가 위의 답에서 옳습니다. 하나의 앱만이 주어진 TCP 서버 포트를 사용할 수 있습니다.

최근 버전의 Windows에서는 http.sys를 통해이를 처리합니다. Microsoft의 web.config 표준을 사용하여 다양한 WCF, ASP.NET 웹 사이트 및 처리기 모듈을 등록하면 http.sys가 들어오는 req (포트 80) 등록 된 핸들러 (또는 IIS 또는 다른 앱) 중 하나에 연결하십시오. 이 리디렉션은 포트 80에서 다른 응용 프로그램을 실행하고 http.sys가 http.sys 대신 서버 소켓을 점유하기 전에 시작됩니다.

0

Windows를 알고 있습니다 (그리고 저는 Linux도 믿습니다) 특정 포트에서 수신 대기하는 프로세스를 하나만 가질 수 있습니다. 그래서 최선의 희망은 모듈을 다른 웹 서버에 연결하여 요청을 전달하는 것입니다. 그리고 당신은 이미 별도의 모듈을 연결해야하기 때문에 ...

관련 문제