|
웹 사이트를 배포할 때 디자인 파일(*.aspx, *.ascx, etc)과 소스코드를 컴파일한 binary(웹사이트명.dll) 파일로 업데이트할지(닷넷 1.1버전), 아니면 런타임으로 자동 컴파일하도록 비하인드 파일(*.cs)까지 업데이트할지(닷넷 2.0버전)에 대해 고민해 볼 것입니다. 닷넷 1.1 버전에서는 페이지의 코드 비하인드 파일을은 미리 컴파일하여 웹사이트명.dll로 컴파일해야 했지만 ASP.NET 2.0에서는 처음 실행될 때 런타임으로 코드비하인드 페이지까지 자동으로 컴파일되기 때문에 개선된 배포방법이라고 생각합니다. 하지만 코드 비하인드 파일을 웹 서버에 업로드 해야하는 보안상의 문제가 있습니다. 사실 비하인드 파일은 DB와 직접 통신하지 않고 비지니스 로직 프로젝트나 기타 외부 라이브러리와 Adapter 역할을 하는거라 보안상 문제가 될 소지는 적어 보입니다. 각각의 방식에 대한 장단점으로 어떤게 있는지 내용을 정리해 봤습니다. 소스코드 컴파일(1.1) 배포방식 장점 - 디자인 파일만 업데이트하고 bin 폴더에 바이너리 파일을 업데이트 하면 되므로 웹 서버에 리소스를 줄일 수 있다. - 바이너리로 관리되므로 보안상 문제가 없다. 단점 - 바이너리 업데이트일 경우 사소한 버그를 고치더라도 전체 소스코드를 업데이트해야 하므로 비효율적이다. - 사이트 오픈 초기에 잦은 업데이트일 경우 업데이트의 비용이 많이 든다. 런타임시 컴파일(2.0) 배포방식 장점 - 업데이트한 페이지만 컴파일하므로 전체 페이지에 영향을 주지 않으므로 관리상 이점이 있다. - 업데이트에 대한 비용이 적게 들기 때문에 빠른 업데이트가 가능하다. 단점 - Adapter역할을 하는 소스코드라 할지라도 소스 코드를 업데이트해야 하기 때문에 이로 인한 문제가 발생할 수 있다. 참고) cs파일은 ISAPI필터를 통해 외부에서 접근이 금지(403에러)되어 있기 때문에 직접적으로 외부에서 소스코드를 해킹할 수 있는 방법은 없다. 페이지별 DLL 배포 장점 - 페이지 당 하나의 dll이 배포되므로 수정할 페이지의 dll만 업로드하면 되므로 관리가 편리하다. 단점 - 페이지당 하나의 dll이 생성되므로 웹 소스 관리가 복잡해진다. - 페이지 별로 동적으로 DLL 이 생성되기 때문에, 상호 개체간의 참조가 불가능하다. 이 글과 관련있는 글을 자동검색한 결과입니다 [?]
|
카테고리
전체
-------------------- 잡담 -------------------- DB(MS-SQL) DB(ORACLE) -------------------- .NET (C#) .NET (ADO) .NET (웹폼) .NET (윈폼) .NET (2.0) -------------------- WEB 일반 WIN 일반 -------------------- XML NETWORK Technology Silverlight TIP Share -------------------- Conception 미분류 최근 등록된 덧글
저도 같은 생각입니다...
by 허둥사마 at 09/15 사이트 유지 보수 입장.. by 네모도리 at 09/15 우어 애타게 찾고 있던 .. by 야생만두 at 08/10 좋은정보 감사합니다. .. by 문병제 at 06/02 좋은 정보 감사합니다. .. by line at 04/23 최근 등록된 트랙백
향천의 생각
by hyangchun's me2DAY Windows Internet Expl.. by 아크비스타 :: 아크몬드의.. INSERT INTO 와 SEL.. by 달래네 알고 있었지만 기억이 .. by 아늑한 보금자리 포토로그
이글루링크
이글루 파인더
태그
|