2009-02-23 2 views
6

ASP.NET MVC 응용 프로그램을 DiscountASP.net과 같은 웹 호스팅 회사에 배포하고 싶습니다. 나는 웹 서버의 web.config 파일에 있어야 할 것에 대해 혼란스러워합니다. 프로젝트를 로컬에서 만들면 모든 종류의 추가 모듈, 핸들러, 컴파일러가있는 비 대한 web.config가 생성됩니다. 프로덕션 web.config 파일에이 모든 항목을 추가해야합니까?IIS7에 ASP.NET MVC 응용 프로그램을 배포하고 깨끗한 web.config를 유지

저는 여전히 IIS6에 현재 ASP.NET 응용 프로그램 (MVC 아님)을 배포하고 있으며 프로덕션 환경에 대한 간단한 web.config를 손으로 제작하고 나머지 응용 프로그램 파일과 함께 업로드했습니다. IIS7에서는 웹 서버의 IIS 관리자를 사용하여 web.config를 빌드 할 수 있습니다. 프로덕션 서버에서 web.config를 작성/관리하는 가장 좋은 방법은 무엇입니까?

답변

6

그래서 지금까지 MVC 애플리케이션을 DiscountASP.net에 배포하려고 시도한 것을 발견했습니다.

내가 System.Web.Mvc이가 GAC에 설치되지 않은 것으로 빈에 배포되었는지 확인했다는 것을 알게되었다 첫 번째 생각 :

http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx

가 그럼 난 슈퍼 시작 방금 데이터베이스 연결 문자열을 포함하는 기본 web.config. 내 응용 프로그램이 작동하지 않았습니다.

는 그럼 난 서버에 내 로컬 Web.config의 최대의 혼란을 복사하여 데이터베이스 연결 문자열을 변경 한 가지 일을 시작했지만, 난 여전히 오류 메시지가 참 이었어 : 내가 찾은 다음

Could not load type 'System.Web.Mvc.ViewPage<MyCustomModel>' 

http://blog.benhall.me.uk/2009/01/aspnet-mvc-rc1-removing-code-behind.html

: 당신이 (당신이 어떤 이유로 지역의 Visual Studio를 웹 서버로이 작업을 수행 할 필요가 없습니다) 파일 뒤에 코드를 사용하지 않는 지원하기 위해의 web.config를 변경해야하는 방법에 대해 설명이 문서 Personall y, 나는 연결 문자열 및 SMTP 설정과 같은 간단한 응용 프로그램 설정이 복잡한 MVC (및 AJAX.NET) 인프라 설정과 얼마나 섞여 있는지 좋아하지 않습니다. 한 가지 좋은 옵션은 호스팅 회사 (예 : DiscountASP.net)가 MVC를 지원하도록 Master.config (또는 상위 web.config)를 설정하여 내 web.config에 간단한 응용 프로그램 만 포함하면됩니다. 설정.

1

아마도 필요없는 모든 것을 제거하기 전까지 검색 및 파괴 방법과 칩을 구성에서 제거 할 것입니다. 응용 프로그램과 그 의존성을 알지 못하면 사용자가 필요로하거나 필요하지 않을 수도있는 것을 말하기 어렵습니다.

최상의 방법은 항상 프로덕션 환경을 가능한 한 밀접하게 반영한 개발 환경을 유지하는 것입니다. 이러한 방식으로 프로덕션 구성을 편집하고 싶지는 않습니다.

+0

매우 간단한 응용 프로그램이 있고 web.config에 추가 한 유일한 것은 데이터베이스 연결 문자열입니다. 모든 핸들러, 모듈 및 컴파일러를 웹으로 가져와야합니까?이 정보는 이미 machine.config에 있습니까? –

+0

다른 것들을 제거 할 수 있어야하지만 MVC를 사용함에 따라 MVC가 작동하는 데 필요한 핸들러와 모듈이있을 수 있습니다. 내가 말할 수있는 가장 좋은 방법은 배포 할 구성을 제거 할 때까지 로컬에서 테스트하는 것입니다. –

3

.Net 3.5 및 IIS7은 모두 web.config에 많은 텍스트를 추가합니다. 내가하는 일은 IIS7에서 IIS 관리자를 사용하여 응용 프로그램을 한 번 구성하는 것입니다. 그런 다음 수정 된 web.config를 소스 컨트롤에 다시 체크인합니다. 그렇게하면 환경간에 마이그레이션 할 때 모든 IIS 설정이 보존됩니다.

+3

web.config가 쓰레기로 가득 차 있다고 느낍니다. 모든 것이 무엇인지 추적하는 것은 정말 어려워지고 있습니다. –

2

System.Web.Extensions는 MS AJAX AKA Atlas 제품이며이 어셈블리와 관련된 여러 모듈과 처리기 및 섹션이 있습니다. MS AJAX를 사용하지 않는 경우 자유롭게 삭제하십시오.

+0

그 이유가 확실하지 않은 이유는 그 제안에서 웹 구성의 정크 톤을 제거했기 때문입니다. – rball

관련 문제