it-swarm-ko.tech

코드 파일과 코드 비하인드

ASP.Net 사용자 정의 선언에서 CodeFile= "file.ascx.cs"와 CodeBehind= "file.ascx.cs"의 차이점은 무엇입니까?

하나 더 새롭거나 권장됩니까? 아니면 특정 사용법이 있습니까?

133
Soldarnal

CodeBehind : 컴파일해야합니다 (ASP.NET 1.1 모델). 컴파일 된 바이너리는 웹 사이트의 bin 폴더에 있습니다. 배포하기 전에 Visual Studio에서 컴파일해야합니다. 소스 코드를 일반 텍스트로 보지 않으려는 경우 좋은 모델입니다. 예를 들어 코드를 제공 할 의무가없는 고객에게 제공 할 때.

CodeFile : 소스 파일에 배포 솔루션을 제공합니다. ASP.NET 2.0 런타임은 필요할 때 코드를 컴파일합니다. 컴파일 된 파일은 Microsoft.NET [.NET 버전]\Temporary ASP.NET 파일에 있습니다.

160
Shafqat Ahmed

Visual Studio Express 2012 For Web의 응용 프로그램 프로젝트에서 .NET 4.0을 사용하고 있습니다. 로그인 및 비밀번호 변경 페이지의 파일 숨김 코드에서 선언에 CodeBehind와 CodeFile이 모두 필요한 상황을 발견했습니다.

코드 파일 참조를 추가하지 않으면

CodeFile=login.aspx.cs

웹 페이지가 구문 분석되지 않고 브라우저에 구문 분석기 오류가 표시됩니다. 프로젝트를 컴파일하는지 여부는 중요하지 않습니다.

내가 참조 뒤에 코드를 추가하지 않으면

CodeBehind=login.aspx.cs

"유형 또는 네임 스페이스 MembershipUser를 찾을 수 없습니다"와 같은 오류와 함께 인텔리전스를 사용하려고 할 때 MembershipUser와 같은 보안 클래스에 대한 참조가 실패합니다. .Net 4.0 프레임 워크에 필요한 System.Web.ApplicationServices에 대한 참조를 추가했습니다.

이 귀찮은 파일은 IIS 응용 프로그램 도구를 사용하여 만든 웹 사이트 내의 응용 프로그램에서 실행되고 있음을 추가해야합니다. Visual Studio에서 웹 사이트를 열면 파서 오류나 참조 오류가 발생하지 않습니다. 이 혼란은 Visual Studio에서 응용 프로그램을 프로젝트로 열 때만 발생합니다.

5
DavidHyogo

Codebehind 파일은 실행하기 전에 컴파일해야하지만 src에서는 컴파일 한 다음 실행할 필요가 없습니다. 파일을 저장하십시오.

5
Ranjeet Prasad