1

这是我想要做的:

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

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

我认为读取合并的 Web 配置、提取绑定、创建 url 并使用 HttpWebRequest 触发请求会相当简单。

但是,我没有任何运气......(我主要尝试了WebConfigurationManager)

有任何想法吗?

4

2 回答 2

0

I think you should be able to get this info from the Request object.

That said, I would be leery about worrying about this without some hard evidence from production that it is in fact a problem.

于 2009-06-13T14:48:18.110 回答
0

如果您可以访问 Page 对象(我不确定您是否在 global.asax 中这样做,因为我从不在我的应用程序中使用它),那么您可以使用它的 ResolveUrl(string path) 方法来获取正确的 URL,例如

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

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

于 2009-05-22T11:52:36.167 回答