다른 ASP.NET 응용 프로그램 (가상 응용 프로그램)에 가상 디렉터리가 설정된 ASP.NET 응용 프로그램 (루트 응용 프로그램)이 있습니다. 가상 응용 프로그램을 루트 응용 프로그램의 web.config 파일에서 값을 읽게하려면 어떻게합니까? WebConfigurationManager.OpenWebConfiguration() 클래스를 살펴 보았지만 루트에서 한 수준 위로 올라가는 방법을 확신 할 수 없습니다. 예를 들어, ~/web.config로 이동하여 가상 응용 프로그램의 web.config 파일을 가져 오라고 말했지만 루트 응용 프로그램의 파일 구조에 대해 한 단계 더 올라야합니다. 이것도 정확한 접근 방법입니까?가상 디렉터리의 web.config 파일 읽기
도움을 주시면 대단히 감사하겠습니다.
string configFile = new FileInfo(Server.MapPath("/Web.config")).Directory.Parent.FullName + "\\Web.config";
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = configFile;
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
Response.Write(config.AppSettings.Settings["Test"].Value);
흥미 롭습니다. 내 가상 디렉터리 응용 프로그램과 내 루트 디렉터리 응용 프로그램에서 동일한 구성 값을 설정했습니다. 가상 디렉터리 응용 프로그램에서 값을 제거하면 루트 디렉터리 응용 프로그램에서 읽을 것으로 예상했지만 대신 오류가 발생했습니다. –
특별한 구성없이 호스팅 앱에서 AppSettings 값을 찾는 앱 세트가 있습니다. 모든 가상 응용 프로그램은 IIS7에서 구성됩니다. 값은 web.config 호스팅에만 존재합니다. – HectorMac
흥미 롭습니다. 내가 뭘 잘못하고 있는지 궁금해. 가상 응용 프로그램이 IIS의 응용 프로그램으로 설정되어 있습니까? –