Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC查询未在请求中时部署的应用程序服务器地址_C#_Asp.net Mvc_Url_Httpcontext - Fatal编程技术网

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

C# ASP.NET MVC查询未在请求中时部署的应用程序服务器地址,c#,asp.net-mvc,url,httpcontext,C#,Asp.net Mvc,Url,Httpcontext,这个问题看起来很像,不是吗?稍有不同。在进行初始设置(在应用程序启动中)时,我想知道服务器的部署地址,但当时没有请求: HttpContext.Current.Request 因此,我无法查询它以获取当前URL。还有别的办法吗?结帐。如果HostingEnvironment类中没有您需要的信息,您还可以查看。在本文中,作者在Application\u BeginRequest方法中执行初始化逻辑,而不是Application\u Start。它使用锁来确保此初始化只执行一次: void App

这个问题看起来很像,不是吗?稍有不同。在进行初始设置(在应用程序启动中)时,我想知道服务器的部署地址,但当时没有请求:

HttpContext.Current.Request
因此,我无法查询它以获取当前URL。还有别的办法吗?

结帐。如果
HostingEnvironment
类中没有您需要的信息,您还可以查看。在本文中,作者在
Application\u BeginRequest
方法中执行初始化逻辑,而不是
Application\u 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;
        }
    }
}
结帐下课。如果
HostingEnvironment
类中没有您需要的信息,您还可以查看。在本文中,作者在
Application\u BeginRequest
方法中执行初始化逻辑,而不是
Application\u 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;
        }
    }
}

有两件事我很好奇…你需要它做什么(可能是更好的方式?)以及你使用的是什么版本的mvc框架?我正在做一个狡猾的开发黑客,我在代码中定位wcf服务,并从当前url知道服务的相对路径。MVC 3我很好奇的两件事…你需要它做什么(可能是更好的方式?)以及你使用的MVC框架的哪个版本?我正在做一个狡猾的开发攻略,在代码中定位wcf服务,并从当前url知道服务的相对路径。MVC 3