Получить URL-адрес страницы ASP.Net в кодировке

У меня есть страница ASP.Net, которая будет размещаться на нескольких разных серверах, и я хочу получить URL-адрес страницы (или даже лучше: сайт, на котором размещена страница), в виде строки для использования в коде , Есть идеи?

0
добавлено
Просмотры: 114
подробный ответ здесь stackoverflow.com/questions/593709/…
добавлено автор Learning, источник
См. Это решение: stackoverflow.com/questions/567590/…
добавлено автор Kimball Robinson, источник

10 ответы

Вам нужно имя сервера? Или имя хоста?

Request.Url.Host ala Stephen

Dns.GetHostName - Server name

Request.Url will have access to most everything you'll need to know about the page being requested.

0
добавлено

Я использую это в своем коде в пользовательском классе. Пригодится для отправки электронных писем, таких как [email protected] "no-reply @" + BaseSiteUrl Прекрасно работает на любом сайте.

// get a sites base urll ex: example.com
public static string BaseSiteUrl
{
    get
    {
        HttpContext context = HttpContext.Current;
        string baseUrl = context.Request.Url.Authority + context.Request.ApplicationPath.TrimEnd('/');
        return baseUrl;
    }

}

Если вы хотите использовать его в коде, избавитесь от контекста.

0
добавлено

Если вы хотите включить любую уникальную строку в конец, аналогичную example.com?id=99999, используйте следующие

Dim rawUrl As String = Request.RawUrl.ToString()
0
добавлено

Если вы хотите использовать только схему и полномочия части запроса (протокол, хост и порт)

Request.Url.GetLeftPart(UriPartial.Authority)
0
добавлено
Еще лучшее решение размещено на stackoverflow.com/questions/567590/…
добавлено автор Kimball Robinson, источник
@Kimball Я не уверен, что объединение строк вместе - лучшее решение.
добавлено автор WDuffy, источник

Request.Url.Host

0
добавлено

Использовать это:

Request.Url.AbsoluteUri

Это даст вам полный путь (включая http://.. .)

0
добавлено
Помните, что это также будет включать в себя часть запроса (? Key = value ....)
добавлено автор Marcel, источник
Это не работает, если приложение не размещено в корне сервера, а в каталоге. Если приложение размещено на www.contoso.com/app/, это вернет только www.contoso.com
добавлено автор linkerro, источник

Я столкнулся с такой же проблемой, и до сих пор я нашел:

new Uri(Request.Url,Request.ApplicationPath)

или

Request.Url.GetLeftPart(UriPartial.Authилиity)+Request.ApplicationPath
0
добавлено
Request.Url.GetLeftPart(UriPartial.Authority) + Request.FilePath + "?theme=blue";

что даст вам полный путь к странице, на которой вы сидите. Я добавил в querystring.

0
добавлено

я использую

Request.Url.GetLeftPart(UriPartial.Authority) +
        VirtualPathUtility.ToAbsolute("~/")
0
добавлено

Используя js-файл, вы можете записать следующее, которое также может использоваться в кодебе:

<script type="text/javascript">
    alert('Server: ' + window.location.hostname);
    alert('Full path: ' + window.location.href);
    alert('Virtual path: ' + window.location.pathname);
    alert('HTTP path: ' + 
        window.location.href.replace(window.location.pathname, ''));    
</script>
0
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)