Microsoft MVP성태의 닷넷 이야기
.NET Framework: 33. Proxy 환경에서의 Smart Client 업데이트 문제 [링크 복사], [링크+제목 복사],
조회: 17454
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

고객사에서, 지난 3월 24일 있었던 ISV 세미나에 다녀와서는 곧바로 스마트 클라이언트 적용을 검토하던 중이었습니다.

아주 간단한 exe 파일을 올려놓고 테스트 했는데, 업데이트 된 exe 파일을 올려도 적용이 안되는 것입니다. 즉, 스마트 클라이언트의 가장 강점이라고 할 수 있는 "자동 업데이트" 가 안되는 현상을 보였습니다. ^^; 나름대로 당황을 했지요. 그렇긴 해도, 언젠가 부터 쌓인 습관 - Microsoft 측의 버그라고 우선 단정하지 않는 - 으로 문제를 하나 하나 파악해 나갔습니다.

일단, 제 컴퓨터의 웹 서버에 올려놓았을 때 다른 사람들은 업데이트가 안되었지만, 제 컴퓨터에서 접속을 했을 때는 업데이트가 되는 것을 확인했습니다. 순간... ^^ 불현듯 이곳이 Proxy 로 구성된 네트워크라는 것이 떠올랐습니다. 아하... 문제는 바로 Proxy 측에서의 캐쉬였습니다.

다른 컴퓨터에서 제 웹 서버의 스마트 클라이언트 exe 파일을 요청하면 중간의 Proxy 서버가 그 파일을 캐쉬하고 있다가 이후의 요청에서는 Proxy 서버가 모든 처리를 해버려서 자동업데이트가 이루어지지 않은 것입니다.

exe 파일을 바로 요청하는 것이기 때문에 프로그램 적으로 캐쉬설정을 할 수 없는데, 다행히 IIS 설정창에서 "HTTP Headers" 탭의 "Enable content expiration" 에서 "Expire immediately" 를 선택해서 수정할 수 있었습니다.

어쨌든, 이번에도 느낀 것이지만, 언젠가 부터... Microsoft 의 기술에 신뢰가 가더군요. 만약, 반대로 불신을 가지고 있었다면, 이런 경우 난리를 치며 MS 의 스마트 클라이언트 기술에 중대 버그가 있다고 떠들지 않았을까요. ^^








[최초 등록일: ]
[최종 수정일: 3/27/2005]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2005-03-30 11시03분
[Brandon] 음...경험아니면 얻을수 없는 귀중한 정보이군요..
잘보고 갑니다.^^
[guest]

... 46  47  48  49  [50]  51  52  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
12721정성태7/20/202121071오류 유형: 738. The trust relationship between this workstation and the primary domain failed. - 세 번째 이야기
12720정성태7/19/202116387Linux: 43. .NET Core/5+ 응용 프로그램의 Ubuntu (Debian) 패키지 준비
12719정성태7/19/202115376오류 유형: 737. SharePoint 설치 시 "0x800710D8 The object identifier does not represent a valid object." 오류 발생
12718정성태7/19/202114999개발 환경 구성: 581. Windows에서 WSL로 파일 복사 시 root 소유권으로 적용되는 문제파일 다운로드1
12717정성태7/18/202115584Windows: 195. robocopy에서 파일의 ADS(Alternate Data Stream) 정보 복사를 제외하는 방법
12716정성태7/17/202116030개발 환경 구성: 580. msbuild의 Exec Task에 robocopy를 사용하는 방법파일 다운로드1
12715정성태7/17/202123465오류 유형: 736. Windows - MySQL zip 파일 버전의 "mysqld --skip-grant-tables" 실행 시 비정상 종료 [1]
12714정성태7/16/202116631오류 유형: 735. VCRUNTIME140.dll, MSVCP140.dll, VCRUNTIME140.dll, VCRUNTIME140_1.dll이 없어 exe 실행이 안 되는 경우
12713정성태7/16/202118808.NET Framework: 1077. C# - 동기 방식이면서 비동기 규약을 따르게 만드는 Task.FromResult파일 다운로드1
12712정성태7/15/202117408개발 환경 구성: 579. Azure - 리눅스 호스팅의 Site Extension 제작 방법
12711정성태7/15/202116885개발 환경 구성: 578. Azure - Java Web App Service를 위한 Site Extension 제작 방법
12710정성태7/15/202120217개발 환경 구성: 577. MQTT - emqx.io 서비스 소개
12709정성태7/14/202115742Linux: 42. 실행 중인 docker 컨테이너에 대한 구동 시점의 docker run 명령어를 확인하는 방법
12708정성태7/14/202120119Linux: 41. 리눅스 환경에서 디스크 용량 부족 시 원인 분석 방법
12707정성태7/14/202186670오류 유형: 734. MySQL - Authentication method 'caching_sha2_password' not supported by any of the available plugins.
12706정성태7/14/202118058.NET Framework: 1076. C# - AsyncLocal 기능을 CallContext만으로 구현하는 방법 [2]파일 다운로드1
12705정성태7/13/202118849VS.NET IDE: 168. x64 DLL 프로젝트의 컨트롤이 Visual Studio의 Designer에서 보이지 않는 문제 - 두 번째 이야기
12704정성태7/12/202117382개발 환경 구성: 576. Azure VM의 서비스를 Azure Web App Service에서만 접근하도록 NSG 설정을 제한하는 방법
12703정성태7/11/202122377개발 환경 구성: 575. Azure VM에 (ICMP) ping을 허용하는 방법
12702정성태7/11/202118645오류 유형: 733. TaskScheduler에 등록된 wacs.exe의 Let's Encrypt 인증서 업데이트 문제
12701정성태7/9/202118218.NET Framework: 1075. C# - ThreadPool의 스레드는 반환 시 ThreadStatic과 AsyncLocal 값이 초기화 될까요?파일 다운로드1
12700정성태7/8/202118706.NET Framework: 1074. RuntimeType의 메모리 누수? [1]
12699정성태7/8/202117345VS.NET IDE: 167. Visual Studio 디버깅 중 GC Heap 상태를 보여주는 "Show Diagnostic Tools" 메뉴 사용법
12698정성태7/7/202121423오류 유형: 732. Windows 11 업데이트 시 3% 또는 0%에서 다운로드가 멈춘 경우
12697정성태7/7/202116028개발 환경 구성: 574. Windows 11 (Insider Preview) 설치하는 방법
12696정성태7/6/202117409VC++: 146. 운영체제의 스레드 문맥 교환(Context Switch)을 유사하게 구현하는 방법파일 다운로드2
... 46  47  48  49  [50]  51  52  53  54  55  56  57  58  59  60  ...