Configuration 从web应用程序中读取IIS7配置?

Configuration 从web应用程序中读取IIS7配置?,configuration,iis-7,web-config,port,Configuration,Iis 7,Web Config,Port,以下是我想做的: 我的web应用程序一开始非常慢,直到所有页面都已预编译并且缓存已填充。我想在Global.asax中通过触发一些对最慢页面的HTTP请求来“预热”应用程序 问题是我不知道应用程序运行在哪个端口上。可以是80我的本地IIS或部署的服务器,也可以是测试服务器上的8080,或者是一些使用ASP.NET开发服务器的同事的随机端口 我认为读取合并的web配置、提取绑定、创建url并使用HttpWebRequest触发请求将非常简单 然而,我一点运气都没有。。。我主要尝试了WebConfi

以下是我想做的:

我的web应用程序一开始非常慢,直到所有页面都已预编译并且缓存已填充。我想在Global.asax中通过触发一些对最慢页面的HTTP请求来“预热”应用程序

问题是我不知道应用程序运行在哪个端口上。可以是80我的本地IIS或部署的服务器,也可以是测试服务器上的8080,或者是一些使用ASP.NET开发服务器的同事的随机端口

我认为读取合并的web配置、提取绑定、创建url并使用HttpWebRequest触发请求将非常简单

然而,我一点运气都没有。。。我主要尝试了WebConfiguration Manager


有什么想法吗?

如果您有权访问页面对象,我不确定您是否在global.asax中有权限,因为我从未在我的应用程序中使用过它,那么您可以使用它的ResolveUrlstring路径方法来获取正确的URL,例如

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

其中~/指的是ASP.Net应用程序的根

我认为您应该能够从请求对象获取此信息


也就是说,如果生产部门没有确凿的证据证明这是一个问题,我就不会担心这一点。

我知道这一点,尽管我认为它只给出了绝对路径,没有方案、主机名和端口,如/MyApplication/MyPath.aspx。但是如果我有Page对象,Page.Request.Url或Page.Request.RawUrl将是。。。我也不确定应用程序是否在Global.asax中启动,我不知道它是在应用程序重新启动时调用的,还是在第一个请求出现时调用的。这不是一个真正的问题,我不再积极地研究这个问题。但不知何故,我觉得web应用程序应该能够找到自己的IIS配置。或者至少我想知道为什么这是被禁止的。