Получите абсолютный URL с относительного пути (рефакторированный метод)C#

Место общения программистов C#
Ответить
Anonymous
 Получите абсолютный URL с относительного пути (рефакторированный метод)

Сообщение Anonymous »

Я действительно удивлен, что нет нативного метода .NET, чтобы получить абсолютный URL от относительного URL. Я знаю, что это обсуждалось много раз, но никогда не сталкивался с удовлетворительным методом, который справляется с этим хорошо. Можете ли вы помочь точно настроить метод ниже? Что -нибудь еще мне не хватает (предостережения, производительность и т. Д.)? < /P>

public static string GetAbsoluteUrl(string url)
{
//VALIDATE INPUT FOR ALREADY ABSOLUTE URL
if (url.StartsWith("http://", StringComparison.OrdinalIgnoreCase)
|| url.StartsWith("https://", StringComparison.OrdinalIgnoreCase))
{
return url;
}

//GET PAGE REFERENCE FOR CONTEXT PROCESSING
Page page = HttpContext.Current.Handler as Page;

//RESOLVE PATH FOR APPLICATION BEFORE PROCESSING
if (url.StartsWith("~/"))
{
url = page.ResolveUrl(url);
}

//BUILD AND RETURN ABSOLUTE URL
return "http://" + page.Request.ServerVariables["SERVER_NAME"] + "/"
+ url.TrimStart('/');
}


Подробнее здесь: https://stackoverflow.com/questions/368 ... red-method
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»