.net - Visual Studio 2015 C# MVC::如何获取我的应用程序的基本 URL?

标签 .net azure model-view-controller

令人震惊的是,像获取应用程序基本 URL 这样简单的事情似乎很难实现

基本上我想要一个返回 http://localhost:2000/ 的方法如果我在本地运行应用程序或 http://myapp.azurewebsites.com/如果是远程的话。

我关注了How to get base url of the site in MVC结果实际上是相互矛盾的。

最佳答案

我遇到了这个,它似乎按预期工作。我将创建一个存储库,并在其中包含更多一些有用的帮助方法。

    public string Root
    {
        get
        {
            var context = HttpContext.Current;
            if (context != null)
            {
                var request = context.Request;
                var scheme = request.Url.Scheme;
                var server = request.Headers["Host"] ?? string.Format("{0}:{1}", request.Url.Host, request.Url.Port);
                var host = string.Format("{0}://{1}", scheme, server);
                var root = host + VirtualPathUtility.ToAbsolute("~");
                return root;
            }
            return string.Empty;
        }
    }
    public string getBaseUrl()
    {
        string baseURL = HttpContext.Current.Request.Url.Host;
        return Root;
    }

关于.net - Visual Studio 2015 C# MVC::如何获取我的应用程序的基本 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40870691/

相关文章:

.net - 流畅的 NHibernate : mapping complex many-to-many (with additional columns) and setting fetch

azure - Azure 门户、开发人员门户和 Postman 之间的 APIM 响应 header 不同

ios - AppDelegate 文件在哪里适合 MVC?

.net - 是否可以调试不是从Visual Studio内部启动的ASP.NET Web应用程序?

c# - 如果异常是从 Microsoft 的代码中抛出的,我如何找出最初导致异常的原因?

sql-server - 使用 SQL Azure 数据库时存储过程是否有任何差异/限制

model-view-controller - 使用 Redis 的框架

javascript - 当我不知道按钮名称时,如何让多个按钮调用相同的功能?

.net - 如何在 Windows 8 中自动运行需要管理员权限的应用程序

asp.net - HTTPS 和 MITM 攻击