2009-05-22 78 views
1

以下是我想要做的:從Web應用程序中讀取IIS7配置?

我的web應用程序起初非常慢,直到所有頁面都已經預編譯並且緩存已填充完畢。我想通過觸發幾個HTTP請求到最慢的頁面來在Global.asax中「預熱」應用程序。

問題是我不知道應用程序在哪個端口上運行。可能是80(我的本地IIS或部署的服務器,我們測試服務器上的8080或某些使用ASP.NET開發服務器的同事的一些隨機端口)

我認爲閱讀合併的Web配置,提取綁定,創建一個url並用HttpWebRequest觸發請求。

但是,我沒有任何運氣...(我試過爲主WebConfigurationManager)

任何想法?

回答

0

如果您有權訪問Page對象(我不確定您是否在global.asax中執行操作,因爲我從未在我的應用程序中使用它),那麼您可以使用ResolveUrl(字符串路徑)方法獲取正確的URL例如

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

在哪裏〜/指的是ASP.Net應用程序

+0

我知道那個,儘管我認爲它只給出了沒有方案,主機名和端口的絕對路徑,比如/MyApplication/MyPath.aspx。但是,如果我有頁面對象,Page.Request.Url或Page.Request.RawUrl將是事情......我也不確定Global.asax中的Application_Start是否是正確的位置,我不知道它是否被調用當應用程序重新啓動或第一次請求來臨時 – chris166 2009-05-23 12:14:27

0

的根源,我認爲你應該能夠得到從Request對象此信息。

這就是說,如果沒有生產過程中的確鑿證據證明這實際上是一個問題,我會擔心這一點。

+0

不,這不是一個真正的問題,而且我也不再積極追求這個問題。但不知何故,我覺得Web應用程序應該能夠找出它自己的IIS配置。或者至少我想要一個很好的理由,爲什麼這是被禁止的。 – chris166 2009-06-13 15:43:36

相關問題