>

최근에 백 버너에있는 웹 사이트 프로젝트로 돌아 왔습니다. 작업을 시작한 이후 Visual Studio Development Server에서 실행될 때 CSS와 자바 스크립트 변경 사항이 응용 프로그램에서 인식되지 않는 것으로 나타났습니다. 이것은 이전에 잘 작동했습니다. 스타일 시트와 자바 스크립트를 변경하고 앱과 테스트를 실행할 수 있습니다. 이제 응용 프로그램을 테스트 할 수있는 유일한 방법은 로컬 IIS 서버에 응용 프로그램을 게시하는 것입니다 (PC를 다시 시작해도 문제가 해결된다고 생각합니다).

Visual Studio 2008 (9.0.30729.1) 사용

정확하게 작동하고 있다고 확신 한 이후에 변경된 것은 Vista x64 Home Premium Edition에서 Win 7 x64 Ultimate로 운영 체제이며 c :에서 d :로 프로젝트 소스를 옮겼습니다. 나는 C로 돌아 갔지만 동일한 부정적인 결과를 얻었습니다. 또한 웹 사이트가 디버그에서 시작될 때 디버그에 배치되는 콘솔 앱 (2 개의 서비스 호스트)이 호스팅하는 별도의 WCF 서비스에서 일부 기능을 제거했습니다.

dev 서버를 중지해도 아무런 반응이 없습니다. VSS 2005를 사용하여 모든 파일을 체크 아웃하여 읽기 전용이 아닌지 확인하십시오. 작동하는 유일한 것은 IIS에 게시하거나 내 컴퓨터를 다시 시작하는 것입니다. 둘 다 바람직하지 않습니다. 디버깅을 중지 할 때마다 종료해야하는 프로세스가 있으면 이전 버전의 사본을 사용하지 않도록 처리해야하는 경우에도 만족합니다.

어떤 솔루션?

  • 답변 # 1

    서버가 캐시 된 사본을 계속 사용하게하는 헤더를 브라우저로 보내고있을 수 있습니다. 이를 테스트하는 간단한 방법은 브라우저 캐시를 비우는 것입니다.

    이 문제가 해결되면 서버에서 얻는 HTTP 헤더를 연구해야합니다. 선택한 브라우저의 개발자 도구 (일명 F12 도구)는 서버에서 반환 한 헤더를 표시합니다. 그런 다음 이러한 캐싱 설정을 계속 사용 (속도에 적합)하거나 변경 (개발에 적합)할지 결정하십시오.

    이 헤더를 어떻게 조정합니까? 서버에 따라 다릅니다. 다음은 일반적인 서버에 대한 지침에 대한 링크입니다.

    아파치

    nginx

    IIS

  • 답변 # 2

    빠른 방법은 스크립트 또는 CSS 파일의 src 속성 뒤에 임의의 매개 변수를 추가하는 것입니다. 예를 들어

    <script type="javascript" src="@Url.Content("~/scripts/myScripts.js?" + DateTime.Now.ToString("ddMMHHmmss")"></script>
    
    

    브라우저는 항상 새로운 파일을 가정하고 캐시하지 않습니다.

    실시간 서버에 배포 할 때는이 항목을 제거하십시오.

  • 답변 # 3

    사용하기

    <link href"~/Content/Style.css" rel="stylesheet"/>

    번들과 함께. 이것은 나를 위해 일했다

관련 자료

  • 이전 php - Kayako Fusion을 설치하는 동안 문제가 발생했습니다
  • 다음 javascript - 마우스 오른쪽 버튼 클릭