如何从App_Start代码中获取根Url



我正在尝试使用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");
    }
  }
}

尝试使用:

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

最新更新