ASP.NET 사용자 정의 선언에서 CodeFile = “file.ascx.cs”와 CodeBehind = “file.ascx.cs” 의 차이점은 무엇입니까 ?
하나 더 새롭거나 권장됩니까? 아니면 특정 사용법이 있습니까?
답변
CodeBehind : 컴파일해야합니다 (ASP.NET 1.1 모델). 컴파일 된 바이너리는 웹 사이트의 bin 폴더에 있습니다. 배포하기 전에 Visual Studio에서 컴파일해야합니다. 소스 코드를 일반 텍스트로 보지 않으려는 경우 좋은 모델입니다. 예를 들어 코드를 제공 할 의무가없는 고객에게 제공 할 때.
CodeFile : 배포 솔루션을 소스 파일에 제공합니다. ASP.NET 2.0 런타임은 필요할 때 코드를 컴파일합니다. 컴파일 된 파일은 Microsoft.NET [.NET 버전] \ Temporary ASP.NET 파일에 있습니다.
답변
Codebehind 파일은 실행하기 전에 컴파일해야하지만 src에서는 컴파일 한 다음 실행할 필요가 없습니다. 파일을 저장하십시오.
답변
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에서 응용 프로그램을 프로젝트로 열 때만 발생합니다.