[英]ASP.NET MVC query deployed Application Server Address while not in request
这个问题看起来像另一个问题 ,不是吗? 略有差异。 在执行初始设置(在应用程序启动中)时,我想知道服务器的部署地址,当时没有任何请求:
HttpContext.Current.Request
所以我无法查询它来获取当前URL。 还有另一种方法吗?
检出HostingEnvironment类。 如果HostingEnvironment
类中没有所需的信息,您也可以阅读以下文章 。 在本文中,作者使用Application_BeginRequest
方法而不是Application_Start
执行初始化逻辑。 它使用锁确保此初始化仅执行一次:
void Application_BeginRequest(Object source, EventArgs e)
{
HttpApplication app = (HttpApplication)source;
HttpContext context = app.Context;
// Attempt to peform first request initialization
FirstRequestInitialization.Initialize(context);
}
这是FirstRequestInitialization
类:
class FirstRequestInitialization
{
private static bool s_InitializedAlready = false;
private static Object s_lock = new Object();
// Initialize only on the first request
public static void Initialize(HttpContext context)
{
if (s_InitializedAlready)
{
return;
}
lock (s_lock)
{
if (s_InitializedAlready)
{
return;
}
// Perform first-request initialization here ...
s_InitializedAlready = true;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.