2009-09-28 5 views
2

여러 고객의 서버에 배포되어 IIS에서 호스팅되는 ASP.Net 웹 응용 프로그램이 있습니다 (사이트에 따라 6 개 또는 7 개). 이 시스템은 상당히 복잡한 ASP.Net (aspx) 페이지 세트를 기반으로합니다. 급변하는 요구 사항으로 인해 양식을 시스템에 추가해야하는 경우가 많습니다. 현재 우리는 프로젝트에 양식을 추가하고 전체 프로젝트를 고객 서버에 재배포하는 상당히 서투른 방식을 사용합니다.기존 배포 된 ASP.Net 웹 응용 프로그램에 ASP.Net 양식 추가

우리 시스템의 구성 화면에 들어가서 우리 웹 서버에서 호스팅되는 웹 서비스를 호출하여 양식 목록을 제공 할 수있는 메커니즘을 만들려고합니다 (어쩌면 비슷한 방식으로 꾸며 짐) 고객이 설치하도록 선택할 수있는 Java WAR 파일)을 만듭니다. 설치로 인해 고객의 IIS에 양식이 추가되어 시스템에서 사용할 수있게됩니다. 아이디어는 일종의 aspx 양식 앱 스토어를위한 것입니다. 고객이 필요한 양식을 선택하여 설치하고 우리가 중앙 웹 서버에 한 번 배포 한 여러 번 배포를 수행하는 데 시간을 낭비하지 않고 말입니다.

누구든지이 작업을 수행하는 방법에 대한 아이디어가 있습니까? 어떤 기술을 사용하여이를 가능하게 할 수 있습니까?

답변

2

웹 응용 프로그램 프로젝트를 사용하는 경우 모든 양식의 코드 숨김이 하나의 DLL로 컴파일되기 때문에 이렇게하기가 쉽지 않습니다. 새 양식을 추가 할 때마다 사이트 응용 프로그램 어셈블리를 /bin 폴더에 다시 배포해야합니다.

Visual Studio 2005에 도입 된 '새로운 스타일'의 프로젝트리스 웹 응용 프로그램을 사용하는 경우 각 페이지를 자체 DLL로 컴파일 할 수 있기 때문에 원하는 작업을 수행 할 수 있습니다 Publish Web Site 대화 상자의 고정 된 이름 지정 및 단일 페이지 어셈블리). 나는 이것을 과거에 시도해 보았으며 약간의 타격을 받았으며 솔직히 말해서 그리워합니다. 또한 적절한 프로젝트 파일을 가지고 있지 않다면 더 복잡한 프로젝트를 수행하는 데 큰 고통이됩니다.

또 다른 접근법은 .aspx.cs 코드 숨김 파일 대신에 .aspx 파일에 모든 마크 업과 '코드 숨김'을 넣는 것입니다. 내 생각 엔 그것으로 컴파일 할 수있는 코드가 포함 된 코드 단위가 될 것이라고 생각합니다. 그러나 여기의 문제는 모든 사이트가 그런 식으로 구축되어야한다는 것입니다 ... 생각합니다.

Visual Studio (2008)에서 사용할 수있는 기본 제공되는 방법입니다. 좀 더 복잡한 것이 필요하다면 불행하게도 인프라를 설계해야합니다.

+0

그 점에 대해 감사드립니다. 나는 무언가를 만들어야한다는 의혹을 가지고 있었지만 누군가가 그것을 확인하기를 원했기 때문에 나는 '바퀴를 새롭게 발명 한'느낌이 들지 않았습니다! – colethecoder

0

변경 사항 만 배포하는 방법을 찾는 데 관심이있는 것 같습니다. 파일을 놓치기 쉽고 전체 응용 프로그램이 충돌하기 때문에 일반적으로 변경 사항 만 배포하는 것이 좋지 않습니다. 버튼 클릭만으로 여러 서버에 배포하는 데 도움이되는 자동화 구축 및 배포에 더 중점을 두어야한다고 생각합니다.

+0

내가 말하는 것은 고객이 모든 양식을 모든 사람에게 배포하기보다는 필요로하는 양식을 다운로드 할 수있게하여 기능과 같은 '앱 스토어'를 제공하는 것입니다. 빌드 및 배포 자동화가 그렇게 할 수는 없습니다. – colethecoder

1

실제로 기존 웹 응용 프로그램을 변경하거나 웹 양식을 추가하려는 경우 전체 웹 응용 프로그램을 다시 배포 할 필요가 없습니다. 사이트를 정상적으로 게시 한 다음 추가 된 .aspx 페이지를 잡아 당깁니다. 이제 페이지가 추가되고 생성 될 때 수정 된 .dll 파일을 가져옵니다. 이것은 단순히 사이트 .dll처럼 간단 할 수 있습니다. 또는 귀하는 비즈니스 .dll 및 데이터 액세스 .dll을 포함 할 수 있습니다. 그러나 대부분 변경되지 않은 경우 모든 파일을 이동해야합니다.

이 시스템에서 미리 구성된 설정의 경우 nAnt와 같은 도구를 사용하여 필요한 파일을 기반으로 빌드 스크립트를 작성한 다음 해당 파일을 자동 압축 해제 zip 파일에 패키징하여 파일을 배치 할 수 있습니다 , .dll을 대상 웹 서버의 올바른 경로에 추가하십시오.

당신의 프로젝트에 행운이 있기를 바랍니다. 이것이 도움이 되었기를 바랍니다.

관련 문제