2009-05-22 8 views
1

다음은 내가 원하는 작업입니다.웹 응용 프로그램 내에서 IIS7 구성을 읽으십니까?

웹 응용 프로그램은 모든 페이지가 미리 컴파일되고 캐시가 채워질 때까지 매우 느립니다. 가장 느린 페이지에 대한 몇 가지 HTTP 요청을 트리거하여 Global.asax에서 애플리케이션을 '워밍업'하고 싶습니다.

문제는 응용 프로그램이 실행되고있는 포트를 모르겠다는 것입니다. 80 (내 로컬 IIS 또는 배포 된 서버, 테스트 서버의 8080 또는 ASP.NET 개발 서버를 사용하는 일부 동료의 임의의 포트)

병합 된 웹 구성을 읽는 것이 매우 간단하다고 생각했습니다. 바인딩을 추출하고 URL을 만들고 HttpWebRequest를 사용하여 요청을 트리거합니다.

그러나, 나는 무엇이든지 ... (나는 주로 WebConfigurationManager 시도) 운이

어떤 아이디어도 없었다?

답변

0

Page 객체에 액세스 할 수있는 경우 (내 응용 프로그램에서 사용하지 않았으므로 global.asax에서 수행하는지 잘 모르겠 음) ResolveUrl (문자열 경로) 메서드를 사용하여 올바른 URL을 얻을 수 있습니다 ~/난 당신이 요청 개체에서이 정보를 얻을 수 있어야합니다 생각 ASP.Net 응용 프로그램

+0

/MyApplication/MyPath.aspx와 같은 스키마, 호스트 이름 및 포트가없는 절대 경로 만 제공한다고 생각했지만 그 사실을 알고있었습니다. 그러나 Page 객체가 있으면 Page.Request.Url 또는 Page.Request.RawUrl이 문제가 될 것입니다 ... 또한 Global.asax의 Application_Start가 올바른 위치인지 확실하지 않습니다. 앱이 다시 시작되거나 첫 번째 요청이 올 때 – chris166

0

의 루트를 의미

string myurl = Page.ResolveUrl("~/MyPage.aspx"); 

예를 들어

.

사실, 생산에 대한 몇 가지 확실한 증거가 없다면 걱정할 필요가 있습니다. 실제로 문제가되는 것은 아닙니다.

+0

아니요. 실제로 문제가 아니며 더 이상 문제를 적극적으로 추구하지 않습니다. 하지만 어쨌든 웹 응용 프로그램이 자체 IIS 구성을 파악할 수 있어야한다고 생각합니다. 아니면 적어도 이것이 금지 된 이유가 필요합니다. – chris166

관련 문제