这个问题看起来像另一个问题不是吗?略有不同。我想在进行初始设置(在应用程序启动中)时知道服务器的部署地址,当时没有请求:
HttpContext.Current.Request
所以我无法查询它来获取当前的 URL。还有其他方法吗?
这个问题看起来像另一个问题不是吗?略有不同。我想在进行初始设置(在应用程序启动中)时知道服务器的部署地址,当时没有请求:
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;
}
}
}