지금 시각은 입니다.
닷넷 문제없어!
[Log-In]
관리자 로그인
  ID
  PW
Catagory
탐색 건너뛰기 링크입니다.
11월2024년 12월1월
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234
Tag Storm
감자탕  기네스  라푼젤  사용자정의 컨트롤  위도 경도 거리  위도경도거리  정규식  파일업로드  페이징  clear  display  float  InvalidOperationException  ip차단  onClientClick  RegisterClientScriptBlock  RegisterStartupScript  urlscan  WebKnight  z-index  
RSS 2.0   
Today : 108
Total  : 559000
web.config 의 location 태그 이용하기 | ASP.Net Read : 2216
 Name : wonpaper IP : 121.55.190.179 
 Date : 2012-03-13 오후 10:41:17  

보통 asp.net  웹어플리케이션 작업할때 신경을  써야하는 부분이 바로 web.config 파일인데,
공부하는 중에 한번쯤 익혀야 하는 사항이라 정리해봤다.

아래의 쎄이 님의 네이버 블로그 글 내용을 제가 정리한 것입니다.
출처 ;
http://tear230.blog.me/100003832326

보통 DB 연결문자열을 아래의 소스로 삽입하여 사용한다.

<appSettings>
  <app key="connectionString" value="Server=(local);Uid=sa;Pwd=myPwd;Database=Pubs" />
</sppSettings>

만약, 한 웹어플리케이션 내에 두개의 폴더 (folder1, folder2)가 존재하고, 각각의 폴더는 서로 다른 데이터 베이스에 접근하여
데이터 쿼리를 가져와야 한다면,
두가지 방법이 가능하다.

1. 각 폴더마다 독립적인 web.config 파일을 설정한다.
2. web.config 파일의 location 태그를 이용한다.

첫번째 방법의 경우, 한 어플리케이션내에 3개의 web.config 파일이 있어야 한다. 각 폴더마다 독립적인 설정사항이 많다면
사용해야 하겠지만, 일반적으로 구성 설정 파일이 많아지면  복잡해지고 관리가 불편해진다.

두번째 방법은 location 태그의 path 속성을 이용하여 아래와 같이 지정할 수 있다.

<location path="folder1">
 <appSettings>
  <app key="connectionString" value="Database=Northwind;Uid=sa;Pwd=myPwd;Server=localhost" />
 </appSettings>
</location>

<location path="folder2">
  <appSettings>
   <app key="connectionString" value="Database=Pubs;Uid=sa;Pwd=myPwd;Server=localhost" />
  </appSettings>
</location>

실제 연결문자열을 web.config 에서 불러오는 방법은

private void Page_Load(object sender, System.EventArgs e)
{
   string conString = ConfigurationSettings.AppSettings().Item("connectionString");
}

이렇게 하면 folder1 의 모든페이지는 Northwind 데이터베이스의 , folder2 의 모든페이지는 pubs 데이터베이스 연결문자열을 받아오게 된다.

------------------------------------

그리고, 아래의 사항은 외국 사이트 블로그 중에서 web.config 상에서 상위 종속성을 방지하는 내용의 좋은 글이 있어서 소개한다.

출처1 : http://jasongaylord.com/blog/prevent-child-apps-from-inheriting-dependencies?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+JasonNGaylord+%28Jason+N.+Gaylord%27s+Blog%29

출처2 : http://runtingsproper.blogspot.com/2010/04/solved-breaking-parent-webconfig.html


<location path="." inheritInChildApplications="false">
    <system.web>
        <!-- Compilation section with assemblies -->
    </system.web> 
</location>

보통은 최상위의 web.config 으로 인해 그 하위 어플리케이션은 종속적으로 영향을 받게된다.
위에서 핵심은 inheritChildApplications="false" 이다. path 를 현재폴더로 잡아 놓고 이 속성으로 인해 이하 하위 어플리케이션은 상위에 종속되지않고 별개로 운영될 수 있다.

포스트글 마지막부분에 의미 심장한 말도 남겨놓았다.

서브 도메인이나 또다른 도메인이 있는 어플리케이션에도 우회적으로 사용될수 있다고 한다.

아오 죽인다. 테스트해봐야 겠당 ^^;;

 

 

 Tag :
 Trackback : http://wonpaper.net/Trackbackhandler.ashx/board_aspnet/16
이름
비번
글목록
Copyright 2010 ~ 2024, wonpaper.net based on ASP.NET 3.5 using Web-Form.
Wonpaper 웹개발자의 닷넷블로그