// web.Release.config 사용방법
/////////////////////////////////////////////////////////////////////////////////////////////
0. 구성관리자 - > 새로 만들기 에서 사용될 web.config 생성
web.config에서 오른쪽클릭후 변환추가
1. web.config -> 로컬 테스트 값을 넣어준다
<appSettings>
<add key="WFRoot" value="Data_test" />
<add key="WFRoot1" value="Data_test1" />
</appSettings>
2. web.Release.config -> 서비스 값을 넣어준다
2-1. 1개 바꾸기
<appSettings>
<add key="WFRoot" value="Data_Release" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
2-2. 전체 바꾸기
<sessionState mode="StateServer" cookieless="false" regenerateExpiredSessionId="true" timeout="120" stateConnectionString="tcpip=localhost:42424" xdt:Transform="Replace">
3. 배포시 Release로 배포
/////////////////////////////////////////////////////////////////////////////////////////////
// web.config 머신키 삭제
/////////////////////////////////////////////////////////////////////////////////////////////
web.config 에 다음과 같은 구문을 추가합니다.
<pages enableViewStateMac="false"/>
또는 machine key를 지정하는 방법이 있습니다.
주로 상용 웹서버는 이 방식을 사용합니다.
<system.web>
<machineKey>
<machineKey validationKey="알고리즘으로 하나 만들어주세요"
decryptionKey="specify key"
validation="SHA1|MD5|3DES"/>
(실사용예)
<system.web>
<compilation debug="true"/>
<pages enableViewStateMac="false"/> <!-- 머신키 삭제-->
</system.web>
/////////////////////////////////////////////////////////////////////////////////////////////
// web.config 변수 사용
/////////////////////////////////////////////////////////////////////////////////////////////
<%= System.Configuration.ConfigurationManager.AppSettings["키"] %>
/////////////////////////////////////////////////////////////////////////////////////////////
// web.config MIME 타입정리
/////////////////////////////////////////////////////////////////////////////////////////////
<!-- Set expire headers to 30 days for static content-->
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00"/>
<!-- use utf-8 encoding for anything served text/plain or text/html -->
<remove fileExtension=".css" />
<mimeMap fileExtension=".css" mimeType="text/css; charset=UTF-8" />
<remove fileExtension=".js" />
<mimeMap fileExtension=".js" mimeType="text/javascript; charset=UTF-8" />
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json; charset=UTF-8" />
<remove fileExtension=".rss" />
<mimeMap fileExtension=".rss" mimeType="application/rss+xml; charset=UTF-8" />
<remove fileExtension=".html" />
<mimeMap fileExtension=".html" mimeType="text/html; charset=UTF-8" />
<remove fileExtension=".xml" />
<mimeMap fileExtension=".xml" mimeType="application/xml; charset=UTF-8" />
<!-- HTML5 Audio/Video mime types-->
<remove fileExtension=".mp3" />
<mimeMap fileExtension=".mp3" mimeType="audio/mpeg" />
<remove fileExtension=".mp4" />
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
<remove fileExtension=".ogg" />
<mimeMap fileExtension=".ogg" mimeType="audio/ogg" />
<remove fileExtension=".ogv" />
<mimeMap fileExtension=".ogv" mimeType="video/ogg" />
<remove fileExtension=".webm" />
<mimeMap fileExtension=".webm" mimeType="video/webm" />
<!-- Proper svg serving. Required for svg webfonts on iPad -->
<remove fileExtension=".svg" />
<mimeMap fileExtension=".svg" mimeType="images/svg+xml" />
<remove fileExtension=".svgz" />
<mimeMap fileExtension=".svgz" mimeType="images/svg+xml" />
<!-- HTML4 Web font mime types -->
<!-- Remove default IIS mime type for .eot which is application/octet-stream -->
<remove fileExtension=".eot" />
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<remove fileExtension=".otf" />
<mimeMap fileExtension=".otf" mimeType="font/otf" />
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="font/x-woff" />
<remove fileExtension=".crx" />
<mimeMap fileExtension=".crx" mimeType="application/x-chrome-extension" />
<remove fileExtension=".xpi" />
<mimeMap fileExtension=".xpi" mimeType="application/x-xpinstall" />
<remove fileExtension=".safariextz" />
<mimeMap fileExtension=".safariextz" mimeType="application/octet-stream" />
<!-- Flash Video mime types-->
<remove fileExtension=".flv" />
<mimeMap fileExtension=".flv" mimeType="video/x-flv" />
<remove fileExtension=".f4v" />
<mimeMap fileExtension=".f4v" mimeType="video/mp4" />
<!-- apk MIME types-->
<remove fileExtension=".apk" />
<mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" />
/////////////////////////////////////////////////////////////////////////////////////////////
// web.config 에 & 넣기
/////////////////////////////////////////////////////////////////////////////////////////////
Web.config 파일 설정값에서 "&" 캐릭터를 넣어야 할 경우 "&"가 XML로 파싱되어 설정값 로딩시 에러가 발생합니다.
이 때는 "&"를 "&"로 대체해 주면 됩니다.