2013-03-06 3 views
1

ASP 사이트 (기본적으로 동일한 프로젝트)와 통합되는 REST 서비스를 구현하고 싶습니다.바닐라 ASP.NET 및 나머지

사용자 정의 VirtualPathProvider (VPP)을 제공하려했지만 어느 정도 작동합니다. 먼저 응답의 content-type은 항상 application/octet-stream입니다. 둘째, GET 요청은 VPP을 통해 파이프됩니다. 나는이 문제를 해결하기 위해 HttpApplication과 함께 놀고있는 사람들을 보았다. 많은 시간이 걸리므로 ASP를 해킹하는 길을 따르고 싶은지 확실하지 않으며, 결국에는 작업을 수행하는 것이 불가능할 수도 있습니다.

MVC를위한 별도의 페이지를 만들어야하며, 일부 프로세스 간 통신을 통해 대화해야합니다. 이 방법은 MVC REST 요청을 처리하고 응답 내 코드를 호출합니다. 그 반대의 경우 - ASP가 원격 서버에 REST 요청을 보낼 수 있습니다.

더 깨끗하고 안전한 더 & MVC와 바닐라 ASP를 연결하는 방법이 더 쉬운 경우 댓글/답변에 자유롭게 게시 할 수 있습니다.

답변

1

VirtualPathProvider은 내부 ASP.NET 작업 (예 : 데이터베이스에 * .aspx 및 * .master 파일 저장)을위한 파일 시스템을 가상화하는 방법으로, 사용자가 제공 한 URI 및 요청.

가장 좋은 방법은 이제 .NET (3.x 이후) 또는 .NET 3.x에서 쉽게 재배포 가능한 구성 요소로 통합 된 ASP.NET MVC를 사용하는 것입니다. ASP.NET MVC는 동일한 응용 프로그램에서 WinForms와 잘 작동하므로 바퀴를 다시 만들지 마십시오.

그러나 단호하게 주장하는 경우 들어오는 요청을 처리하도록 선택하는 사용자 지정 IHttpHandler 내에서 모든 것을 수행하는 유일한 방법이 있습니다 (ASP.NET URL 라우팅을 사용하지 않기 때문에 그렇지 않습니다. ASP.NET MVC 사용).

+0

하이 다이 (Hi Dai)는 내 질문에 대답 할 수있는 권리가 있다고 생각합니다. http://stackoverflow.com/questions/15061602/how-to-fake-a-directory-listing-in-iis-virtualpathprovider-works- for-file-but, thanks –

+0

@Dai MVC와 ASP 프로젝트를 함께 실행 시키거나 다른 프로젝트를 호스팅하는 기본 MVC (이 경우 MVC) 여야합니까? –