Я хочу получить абсолютный корень Url приложения ASP.NET динамически. Это должен быть полный корневой URL-адрес приложения в форме: http (s)://hostname (: port)/
Я использовал этот статический метод:
public static string GetSiteRootUrl()
{
string protocol;
if (HttpContext.Current.Request.IsSecureConnection)
protocol = "https";
else
protocol = "http";
StringBuilder uri = new StringBuilder(protocol + "://");
string hostname = HttpContext.Current.Request.Url.Host;
uri.Append(hostname);
int port = HttpContext.Current.Request.Url.Port;
if (port != 80 && port != 443)
{
uri.Append(":");
uri.Append(port.ToString());
}
return uri.ToString();
}
НО, что, если у меня нет HttpContext.Current
в области видимости?
Я столкнулся с этой ситуацией в CacheItemRemovedCallback
.