2014-10-17 4 views
0

Нужен код C# для получения примера имени домена ("url: https://stackoverflow.com/questions/ask"). Мне нужен выход как («https://stackoverflow.com/»)Нужен код C# для получения имени домена

+0

вы используете это в контроллере или в отдельном классе? Вам нужно показать нам код, который вы попытались – ps2goat

+0

, пожалуйста, ответьте на комментарии и выберите ответ, который работал как принятый. Если вы не работали, вы можете оставить комментарий к любому из них. –

+0

ok ... Я откажусь от своих очков и проголосую за закрытие - им просто так хорошо, парень –

ответ

4

Вы можете изучить класс URI, который анализирует URI на его составные части.

Например:

var uri = new Uri("http://stackoverflow.com/questions/ask"); 
Debug.WriteLine(uri.Scheme); // "http" 
Debug.WriteLine(uri.Host); // "stackoverflow.com" 

Это позволит вам получить то, что вы хотите, как это:

Debug.WriteLine(uri.Scheme + "://" + uri.Host + "/"); 
+0

Один из нас неправильно понял вопрос, я думал, что OP означает конкретный URL-адрес сайта –

5

в следующий раз, пожалуйста, попробуйте в Google свой вопрос, чтобы узнать, было ли уже задано и ответили. попробуйте

var domain = HttpContext.Current.Request.Url.Host; 

за комментарии ...

var domain = HttpContextBase.Current.Url.Host; 

это может быть издевались для модульного тестирования - это значит, вы можете установить его на то, чтобы проверить, что код будет делать.

+0

Я бы не выбрал это как лучший ответ, в зависимости от архитектуры. Он должен основываться на «HttpContextBase», если требуется модульное тестирование и/или используется несвязанная многоуровневая архитектура. Это может быть достигнуто в контроллере с 'this.HttpContext'. Контейнеры IoC могут использовать 'new HttpContextWrapper (Http.Context.Current)' для возврата совместимого объекта HttpContextBase. – ps2goat

+0

@ user3789406, окончательная косая черта не требуется в качестве части URL-адреса. Если вы хотите его там, соедините косую черту в конце. – ps2goat

+0

@ ps2goat - несколько раз вы должны понять, что кто-то спрашивает, как получить домен ... тогда вы, вероятно, можете принять их новое и простое обучение и не нуждаться в полностью тестируемом коде, на этом этапе читаемость лучше всего, просто Лучший. –

Смежные вопросы