C# 如何从应用程序启动代码中获取根Url?
我正在尝试使用WebActivator在mvc4应用程序中预加载输出缓存。我想我可以简单地对一些路由进行异步调用,这样就可以了。不幸的是,我在任何地方都找不到我的应用程序的根Url。。。没有当前的httpRequest 这是我想做的C# 如何从应用程序启动代码中获取根Url?,c#,asp.net-mvc,webactivator,C#,Asp.net Mvc,Webactivator,我正在尝试使用WebActivator在mvc4应用程序中预加载输出缓存。我想我可以简单地对一些路由进行异步调用,这样就可以了。不幸的是,我在任何地方都找不到我的应用程序的根Url。。。没有当前的httpRequest 这是我想做的 [assembly: WebActivator.PostApplicationStartMethod(typeof(MaidBrigade.Web.App_Start.CacheLoader), "Load")] namespace MaidBrigade.Web.
[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("~/");
或:
还可以尝试:
string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, urlHelper.Content("~"));
如果请求不可用,请尝试:
var request = HttpContext.Current.Request
我没想到我会有一个HttpContext,但事实上,我有。谢谢!
var request = HttpContext.Current.Request