我正在尝试使用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