令人震惊的是,像获取应用程序基本 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/