Request.Url.AbsoluteUri не работает в ядре asp.net 2.0 (с использованием System.Web) - PullRequest
0 голосов
/ 03 декабря 2018

Пожалуйста, я пытаюсь получить URL своего домена, используя Request.Url.AbsoluteUri в asp.net core 2.0, но «Запрос» отсутствует в пространстве имен System.Web.и это популярный способ достижения этого.Пожалуйста, это отличается от ASP.NET core 2.0.Пожалуйста помоги.Ниже приведена строка кода

var verifyUrl = "/user/VerifyAccount/" + activationCode;
var link = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, verifyUrl);

Обычно "ссылка" должна давать мне "http://myDomainName/user/VerifyAccount/276ye6tfhsgt63t6e", но System.Web.Request не работает

1 Ответ

0 голосов
/ 03 декабря 2018

Объект HttpRequest отличается в ASP.NET Core.Он больше не содержит Url свойства.Вам нужно будет создать свой URI вручную:

var uriBuilder = new UriBuilder
{
    Scheme = Request.Scheme,
    Host = Request.Host.ToString(),
    Path = $"/user/VerifyAccount/{activationCode}"
};

var link = uriBuilder.Uri.AbsoluteUri;

Переменная Request будет доступна по умолчанию в вашем контроллере и т. Д.Если вы обнаружите, что нет переменной Request, вы можете попробовать HttpContext.Request.Если вы делаете это внутри представления, вам понадобится ViewContext.HttpContext.Request.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...