본문 바로가기

Programming/Asp.Net MVC

Dynamic resource file handling

동적으로 resx 파일을 수정하는 기능이 있다면 어떤 점을 주의해야 할까요?

ASP.Net에서는 Top-level item에 대한 종속성이 변경되는 경우에, re-compile합니다.

따라서, 관리되는 resx 파일이 갱신된다면, re-compile로 인한 서비스의 지연이 발생합니다.


이 경우 resx 파일을 안쓰는 게 낫겠네요...

 

Test 결과 (local)

방법

결과

유형

받음

걸린 시간

시작자

대기‎‎

시작‎‎

요청‎‎

응답‎‎

캐시 읽기‎‎

간격‎‎

POST

200

application/json

436B

1.06s

XMLHttpRequest

1326

0

0

1061

0

9001

POST

200

application/json

2.43KB

8.08s

XMLHttpRequest

3308

0

0

8080

0

0

시간은 이전 대비 68% 이하로 줄였습니다.

 

개선 방법

Web.config 설정을 다음과 같이 수정합니다.

<system.web>

  <httpRuntime requestValidationMode="2.0" />

<compilation defaultLanguage="c#" targetFramework="4.5" debug="false" optimizeCompilations="true">

</system.web>

노란색으로 표시한 부분이 변경된 부분입니다. Debug=false”에서 변경한 내용이며, optimizeCompilations=true attribute를 추가하였습니다.

 

Terms

Top-level item: ASP.Net에서 요청을 처리하기 위하여 compile할 때, 최우선으로 compile되는 항목으로써 App_GlobalResouces등이 포함됩니다.

Compile optimizing: compile의 범위를 줄여, 시간 지연을 최소화 함 (web.config > compilation > optimizeCompilations=true”로 설정)

 

Reference

Compile optimizing

http://msdn.microsoft.com/en-us/library/ms366723(v=vs.100).aspx

http://stackoverflow.com/questions/17724648/how-to-constraint-iis-app-pool-from-refresh-if-some-files-change

http://weblogs.asp.net/scottgu/archive/2006/04/11/Don_1920_t-run-production-ASP.NET-Applications-with-debug_3D001D20_true_1D20_-enabled.aspx

 

pdb파일을 생성하지 않는 방법

http://stackoverflow.com/questions/4663027/visual-studio-2008-pdb-files-not-created-by-build-solution

http://msdn.microsoft.com/en-us/library/s4wcexbc.aspx

'Programming > Asp.Net MVC' 카테고리의 다른 글

Web cache  (0) 2015.01.28
ASP.NET vNext  (0) 2014.10.06
ActionFilter  (0) 2014.07.22
How to migrate Asp.Net MVC  (0) 2014.07.22
Web.config - How to config max upload file size  (0) 2014.07.22