웹 응용 프로그램이 상당히 커지고 있습니다. 좀 더 논리적 인 프로젝트로 나누고 싶지만, 소규모 프로젝트는 여전히 주 프로젝트의 app_code에있는 일부 클래스에 액세스해야합니다. 이것을 달성하기위한 좋은 방법은 무엇입니까?웹 응용 프로그램을 여러 프로젝트로 나눕니다.
답변
파일을 구성하는 방법을 찾고있는 경우 각 하위 프로젝트에 대한 폴더를 만들 수 있습니다. 이 방법을 사용하면 app_code
의 콘텐츠를 얻을 수 있으며 재 작업을 거의하지 않고도 분리 수준을 유지할 수 있습니다.
가장 좋은 방법을 찾으려면 app_code
폴더에있는 재사용 가능한 코드와 해당 라이브러리를 참조하는 여러 개의 개별 프로젝트를 기반으로 공통 클래스 라이브러리를 갖도록 코드를 리팩터링하십시오.
프로필이나 사용자 정보를 직접 참조 할 수없는 경우를 포함하여이 방법으로 코드를 리팩토링 할 때 문제가 발생할 수 있습니다. 이제 웹 사이트에서 웹 응용 프로그램 패러다임으로 이동합니다.
http://www.codersbarn.com/post/2008/06/ASPNET-Web-Site-versus-Web-Application-Project.aspx
공통 클래스가있는 클래스 라이브러리 프로젝트를 추가하고이 프로젝트에 대한 참조를 새 프로젝트 각각에 추가하십시오.
그래서 당신은/webapp1
/default.aspx
/....
/webapp2
/default.aspx
/....
/lib
/Utils.cs
가 다른 프로젝트의 각 참조하는 클래스 라이브러리로 app_code
에서 공통 코드를 추출 다음과 같은 솔루션 배치를해야합니다.
CVS & Subversion에서 "별칭"(또는 아마도 "모듈")이라고 생각되는 것을 설정할 수 있습니다. 어쨌든 소스 제어 트리의 부분을 체크 아웃 할 수 있습니다. 예를 들어 HTML, 자바 스크립트 및 CSS는 모두 체크 아웃하지만 PHP/java/.NET은 체크 아웃하지 않는 "보기"라는 별칭을 만들 수 있습니다.
데이터 액세스 프로젝트, 별도의 비즈니스 프로젝트를 만든 다음 기존 사이트 코드를 프레젠테이션 계층으로 사용하여 같은 솔루션 파일에서 모두 사용할 수있는 3 가지 방식이 좋습니다.
기존 솔루션 내에서 클래스 라이브러리 프로젝트를 만들고 적절한 계층으로 App_Code 클래스를 이동 한 다음 비즈니스 프로젝트에서 데이터 액세스 프로젝트를 참조하고 웹 프로젝트.
일단 이동하면 비트와 조각을 다시 연결하기 위해 약간의 시간이 걸릴 것이므로 테스트와 리팩터링을 위해 충분한 시간을 마련해야합니다.
다음은 내가 내 프로젝트에서 수행중인 작업의 예입니다.
기본 아이디어는 모든 공통 파일을 클라이언트가 직접 공유 할 수 없도록 htdocs와 별도로 보유하는 것입니다.
디렉토리 구조 : 모든 프로젝트에 대한
public_html
유일한 htdocs에 디렉토리.
상점 클라이언트에서 직접 액세스 할 수 있어야합니다 파일 만, 즉, JS, CSS, 이미지, 인덱스 스크립트
core
코어 클래스/기능 application
및 기타 스크립트에 의해이 필요합니다. 다른 말로하면 프레임 워크.
application
저장 파일은
templates
템플릿 파일이 분리 프로젝트에 의해 분리 된 모든 프로젝트에 대한
config
구성하는 모든 프로젝트에 public_html/index
스크립트 공통 + 클래스에 의해 요청 된 별도의 페이지를 생성하는 데 사용 다른 모든 파일
public_html/index
스크립트는 다음
다소 간단한 방법이 그룹에 자신의 조립에 당신의 App_Code 폴더의 코드입니다 ... 요청 된 URL로드 적절한 페이지에 모든 도메인/하위 도메인의 모든 프로젝트에 사용을 기반으로합니다. app_code 폴더의 코드가 여러분 페이지의 요소와 분리되어 있지 않은 경우에만 문제가 발생할 수 있습니다 (일반적으로 클래스의 불량 응집도를 나타 내기 때문에 항상 나쁜 생각입니다).
코드를 별도 어셈블리에 저장 한 후에는 응용 프로그램을 업그레이드 할 때 코드를 원하는 수의 서버에 배포 할 수 있습니다.
- 1. 웹 사이트를 웹 응용 프로그램 프로젝트로 변환
- 2. 줄을 여러 배열 요소로 나눕니다
- 3. visual studio - 여러 응용 프로그램을 동시에 실행하십시오.
- 4. 웹 응용 프로그램을 웹 서비스로 변환
- 5. 은 VS Console 프로젝트로 분리 된 exe 응용 프로그램을 포함합니다.
- 6. 설치 프로그램을 Cocoa 프로젝트로 설정하는 방법은 무엇입니까?
- 7. 문제 VS2008에서 웹 프로젝트로 웹 프로젝트 변환
- 8. 여러 프로젝트로 응용 프로그램을 구성하는 방법과 Java로 패키지의 이름을 지정하는 방법은 무엇입니까?
- 9. 한 번에 여러 Java 웹 응용 프로그램을 Glassfish에 배포
- 10. 웹 응용 프로그램을 위해 여러 서버가 어떻게 동기화됩니까?
- 11. 단일 웹 응용 프로그램을 사용하여 여러 가상 디렉터리에 액세스
- 12. 웹 응용 프로그램을 개선하는 방법
- 13. 웹 응용 프로그램을 해제하는 방법?
- 14. 내가 웹 응용 프로그램을 구현하고
- 15. IIS6의 여러 웹 사이트 또는 여러 웹 응용 프로그램?
- 16. 웹 응용 프로그램을 사용하는 iPhone 응용 프로그램
- 17. 웹 응용 프로그램을 민첩한 방식으로 배포하는 방법
- 18. BuildProvider에서 웹 응용 프로그램 프로젝트로 마이그레이션하는 방법은 무엇입니까?
- 19. 서버에서 웹 응용 프로그램을 어떻게 업데이트합니까?
- 20. Python 웹 응용 프로그램을 빌드하고 배포하는 방법
- 21. IIS7 웹 사이트에서 응용 프로그램을 제거하는 방법
- 22. 봄용 웹 응용 프로그램을 한 번만로드하는 중
- 23. 모듈 식 웹 응용 프로그램을 구성하는 방법
- 24. VB - 웹 응용 프로그램을 웹 응용 프로그램으로 변환
- 25. 웹 응용 프로그램으로 웹 서버에서 Java 응용 프로그램을 실행 하시겠습니까?
- 26. 웹 응용 프로그램을 웹 응용 프로그램으로 변환 (사용자 정의)
- 27. ASP.NET 4.0에서 웹 응용 프로그램을 사용하려는 사람은 누구입니까?
- 28. 다문화 웹 응용 프로그램을 구현하는 방법
- 29. Netbeans에서 Java 웹 응용 프로그램을 디버깅하는 방법?
- 30. 전체 웹 응용 프로그램을 작성하는 방법은 무엇입니까?