2011-03-25 3 views
2

현재 ASP 응용 프로그램의 ASP.Net 부분을 호스팅하는 가장 좋은 방법에 대한 조언이 필요합니다.기존 응용 프로그램에 ASP.Net 및 ('classic') ASP 통합

우리는 ('클래식') ASP로 작성된 복잡한 복잡한 응용 프로그램을 가지고 있습니다.

일부는 다시 작성해야합니다 (불행히도 모든 내용을 다시 작성할 수는 없습니다). 우리는 ASP.Net을 사용할 것입니다.

이의 호스팅을 진행하는 방법은 두 가지가 있습니다 그것은 나에게 보인다


(원래 응용 프로그램은 전혀 세션 개체의 명시 적 사용을하지 않습니다).

옵션 1 : 새 가상 디렉터리를 생성하고 서비스를 제공하는 응용 프로그램의 새로 재개발 부분에서이 - 다시 연결하고, ASP와 ASP.Net 사이의 필요에 전달

옵션 2 : 내 그대로 기존의 가상 디렉터리 및


분명히 는 옵션 1은 '청소기'는 현재 ASP 디렉토리의 하위 디렉토리에 전체 ASP.Net 응용 프로그램을 배치하고 나는 온화한 선호가 그렇게 할 권한이 있습니다.

그러나 소스 제어 및 설치 관점에서 옵션 2은 아마도 더 간단 할 것입니다.

  • 소스 제어에는 변경 사항이 필요할 때 전체가 체크 아웃되는 '트렁크'가 하나뿐입니다.
  • 설치시 (Inno Installer를 사용하는 여러 위치에서 임의의 기술자가 수행) tech는 단지 하나의 가상 디렉터리를 선택하고 모두 들어갑니다.

나는 옵션 1 또는 옵션 2했던 사람들이 듣고 싶네 (혹은 다른 방법으로?).

내가 간과 한 두 가지 접근 방식에 문제가 있는지 여부에 관심이 있습니다.

+0

나는'hosting' 태그가이 질문에 있어서는 안된다고 생각합니다. 대신에,'source-control' 또는'svn'을위한 태그를 추가 할 수 있습니다 –

답변

2

오래 전 (약 3 년 전) 나는 클라이언트가 고전적인 ASP 사이트를 갖고 있으며 ASP.NET에서 새로운 기능을 개발하고자하는 비슷한 종류의 프로젝트를 수행했습니다. 나는 루트 내에서 다른 모든 VD를 생성하여 거기에 모든 파일을 저장하는 방식 2를 따랐습니다. 장점은 소스 제어 관리 관점에서 분명했습니다. 그러나 내 아이디 VD가 작동하도록 ASP.NET 버전을 설정하려면 설치 프로그램에 추가 단계를 추가해야했습니다. 또한 세션을 공유하는 것은 내가 말했듯이 문제가 없다고 확신하는 또 다른 문제였습니다. 나는 고전적인 ASP 응용 프로그램을 가지고 같은 가상 디렉터리, 모두가 잘 작동을 사용하여 ASP.NET 2에 새 페이지를 추가,하지만 당신은, 내가 기억을 세션 정보를 전달해야

옵션 2 :

1

나는 그것을 두 가지를했다 이에 대해 QueryString을 사용하면 How to Share Session State Between Classic ASP and ASP.NET을 볼 수 있습니다. 세션을 사용하지 않는다면 쉽습니다.

옵션 1 : 동일한 ASP 응용 프로그램에서 주 응용 프로그램 메뉴의 링크를 사용하여 ASP.NET 응용 프로그램 (다른 가상 디렉터리)을 호출했습니다. 그러나이 경우 논리적으로 분리 된 부분이었습니다. 이 경우에는 QueryString에 의한 세션 정보도 전달했습니다.

그래서 결론적으로이 부분의 긴밀한 논리가 주 응용 프로그램의 논리와 얼마나 관련이 있는지에 달려 있다고 생각합니다.

옵션 1의 경우 디버깅이 쉽습니다. 옵션 2의 경우 페이지 단위로 바꿀 수 있습니다.

1

코딩 관점에서 중요한 의미는 없습니다. 차이점은 대부분 미적입니다. 나는 옵션 # 2쪽으로 기울어진다. 그것은 나에게 asp.net 코드에 대해서만 다른 IIS 구성을 가질 수있는 옵션을 제공한다.