2

我正在尝试使用 WebActivator 在 mvc4 应用程序中预加载输出缓存。我想我可以简单地对几条路由进行异步调用,这样就可以了。不幸的是,我无法在任何地方找到我的应用程序的根 URL……没有当前的 httpRequest。

这是我想做的。

[assembly: WebActivator.PostApplicationStartMethod(typeof(MaidBrigade.Web.App_Start.CacheLoader), "Load")]
namespace MaidBrigade.Web.App_Start
{
  public class CacheLoader
  {
    public static void Load()
    {
      var client = new HttpClient();
      var root = ""; // Where can a fetch this from?      
      client.GetAsync(root + "/vision/marketing/NationalReportData");

    }
  }
}
4

1 回答 1

3

尝试使用:

var root = Url.Content("~/");

或者:

var root = Url.Content("~");

也试试:

string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, urlHelper.Content("~"));

如果请求不可用,请尝试:

var request = HttpContext.Current.Request
于 2012-07-10T22:43:25.037 回答