2008-09-23 2 views

답변

2

파일을 구성하는 방법을 찾고있는 경우 각 하위 프로젝트에 대한 폴더를 만들 수 있습니다. 이 방법을 사용하면 app_code의 콘텐츠를 얻을 수 있으며 재 작업을 거의하지 않고도 분리 수준을 유지할 수 있습니다.

가장 좋은 방법을 찾으려면 app_code 폴더에있는 재사용 가능한 코드와 해당 라이브러리를 참조하는 여러 개의 개별 프로젝트를 기반으로 공통 클래스 라이브러리를 갖도록 코드를 리팩터링하십시오.

프로필이나 사용자 정보를 직접 참조 할 수없는 경우를 포함하여이 방법으로 코드를 리팩토링 할 때 문제가 발생할 수 있습니다. 이제 웹 사이트에서 웹 응용 프로그램 패러다임으로 이동합니다.

http://www.codersbarn.com/post/2008/06/ASPNET-Web-Site-versus-Web-Application-Project.aspx

6

공통 클래스가있는 클래스 라이브러리 프로젝트를 추가하고이 프로젝트에 대한 참조를 새 프로젝트 각각에 추가하십시오.

그래서 당신은

/webapp1 
    /default.aspx 
    /.... 
/webapp2 
    /default.aspx 
    /.... 
/lib 
    /Utils.cs 
2

가 다른 프로젝트의 각 참조하는 클래스 라이브러리로 app_code에서 공통 코드를 추출 다음과 같은 솔루션 배치를해야합니다.

0

CVS & Subversion에서 "별칭"(또는 아마도 "모듈")이라고 생각되는 것을 설정할 수 있습니다. 어쨌든 소스 제어 트리의 부분을 체크 아웃 할 수 있습니다. 예를 들어 HTML, 자바 스크립트 및 CSS는 모두 체크 아웃하지만 PHP/java/.NET은 체크 아웃하지 않는 "보기"라는 별칭을 만들 수 있습니다.

1

데이터 액세스 프로젝트, 별도의 비즈니스 프로젝트를 만든 다음 기존 사이트 코드를 프레젠테이션 계층으로 사용하여 같은 솔루션 파일에서 모두 사용할 수있는 3 가지 방식이 좋습니다.

기존 솔루션 내에서 클래스 라이브러리 프로젝트를 만들고 적절한 계층으로 App_Code 클래스를 이동 한 다음 비즈니스 프로젝트에서 데이터 액세스 프로젝트를 참조하고 웹 프로젝트.

일단 이동하면 비트와 조각을 다시 연결하기 위해 약간의 시간이 걸릴 것이므로 테스트와 리팩터링을 위해 충분한 시간을 마련해야합니다.

0

다음은 내가 내 프로젝트에서 수행중인 작업의 예입니다.
기본 아이디어는 모든 공통 파일을 클라이언트가 직접 공유 할 수 없도록 htdocs와 별도로 보유하는 것입니다.

디렉토리 구조 : 모든 프로젝트에 대한
public_html
유일한 htdocs에 디렉토리.
상점 클라이언트에서 직접 액세스 할 수 있어야합니다 파일 만, 즉, JS, CSS, 이미지, 인덱스 스크립트

core
코어 클래스/기능 application 및 기타 스크립트에 의해이 필요합니다. 다른 말로하면 프레임 워크.

application
저장 파일은

templates
템플릿 파일이 분리 프로젝트에 의해 분리 된 모든 프로젝트에 대한

config
구성하는 모든 프로젝트에 public_html/index 스크립트 공통 + 클래스에 의해 요청 된 별도의 페이지를 생성하는 데 사용 다른 모든 파일

public_html/index 스크립트는 다음

0

다소 간단한 방법이 그룹에 자신의 조립에 당신의 App_Code 폴더의 코드입니다 ... 요청 된 URL로드 적절한 페이지에 모든 도메인/하위 도메인의 모든 프로젝트에 사용을 기반으로합니다. app_code 폴더의 코드가 여러분 페이지의 요소와 분리되어 있지 않은 경우에만 문제가 발생할 수 있습니다 (일반적으로 클래스의 불량 응집도를 나타 내기 때문에 항상 나쁜 생각입니다).

코드를 별도 어셈블리에 저장 한 후에는 응용 프로그램을 업그레이드 할 때 코드를 원하는 수의 서버에 배포 할 수 있습니다.

관련 문제