繁体   English   中英

ASP.NET MVC查询未请求时已部署的应用程序服务器地址

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM