2013-04-24 3 views
1

내 게시 사이트는 다른 전용 서버에 배포됩니다. 종종 우리는 클라이언트와 서버 측 코드에서 변경해야하는 클라이언트로부터 페이지 수준 chaneges를 사용합니다. 먼저 클라이언트 측에서 변경 한 다음 서버 측 코드를 서버에 배포합니다. 클라이언트가 사소한 변경을 요청했기 때문에 전체 빌드 코드를 게시하지 않았고 다시 , 클라이언트가 페이지 변경에 만족하면 서버에 버전을 게시합니다. 게시 및 비 게시 코드 배포의 주요 차이점을 알고 싶습니다. aspx.cs aspx.cs 서버에 넣을 때 그것은 잘 작동합니다 왜 게시 버전을 배포하는 것이 중요합니다. 내가 서버에 aspx.cs와 영문을 넣을 때이 게시 버전을 배포하는 중요하다 왜asp.net 게시 및 게시 게시

+0

가능한 복제 [ASP.NET 웹 사이트 게시 vs. 복사?] (http://stackoverflow.com/questions/14102521/asp-net-website-publishing-vs-copying) – Damith

+0

나는이 게시물을 통해, 나는 그냥 언젠가 내가 페이지 코드를 게시하지 않고 그때 가능한 효과가 있는지, 현재 잘 작동하는지 알기를 원한다면, 그것은 complie time issue 나 다른 것일 것입니다. – khawarPK

답변

1

는 그것을 잘 작동합니다.

대부분 효율성이 있습니다. 서버에 ASPX 및 ASPX.cs (코드 숨김) 파일을 나란히 배치하면 누군가가 처음 페이지를 요청할 때 해당 코드 숨김 파일이 자체 어셈블리 (.dll 파일)로 컴파일됩니다. 실제로 소스 코드를 컴파일 된 코드가 아닌 서버로 보내고 있습니다. 각 ASPX 파일에서이 작업을 수행하면 수십에서 수백 개의 개별 어셈블리 (각 ASPX 파일 당 하나씩)로 끝날 수 있으며 컴파일러가 소스 코드를 처음 바이너리 dll로 변환하는 동안 지연이 발생할 수 있습니다. 또 하나의 이유는 서버가 단지 하나의 어셈블리가 아니라 많은 어셈블리를 관리해야한다는 것입니다.

게시 버전을 배포하면 컴파일러에서 모든 코드 숨김 파일을 단일 어셈블리로 병합합니다. 또한 ASPX 파일에서 @Page 지시문을 약간 변경합니다. 서버에 배포 된 소스 코드가 없으므로 하나의 바이너리 DLL만으로 더 효율적입니다.

그래서 ASPX 변경 (스타일, 일반 HTML 등) 만하는 경우 @Page 지시문이 미리 컴파일되어 이미 배포 된 코드 숨김과 일치하는 한 개별적으로 밀어내는 것이 좋습니다. . 그러나 ASPX와 코드 숨김을 모두 변경하면 서버의 bin 폴더에 배포해야하는 코드 병합 어셈블리가 병합되므로 게시 작업을 수행해야합니다.

때로는 ASPX 및 코드 비헤이비어를 함께 배포하여 서버에서 테스트하고, 일단 작동한다고 확신하는 경우 되돌아 가서 배포를 수행하여 코드 숨김 변경 사항을 병합 된 DLL로 구워냅니다. 그런 다음 해당 파일 (dll 및 ASPX)로 푸시하고 코드 숨김 소스를 삭제 한 다음 완료하십시오.

+0

hmmm 멋지다, 우리는 코드 aspx와 codebehind 파일을 배치 할 수 있습니다. 테스트는 easly n을 신속하게 수정하기 때문에, 한번 verdified 한 다음 배치하면보다 효율적으로 버전을 게시 할 수 있습니다. 감사합니다. – khawarPK