Как получить текущий полный URL страницы со всеми параметрами на C# в контроллере?
Пытаюсь получить текущий URL страницы в рамках контроллера
using Microsoft.AspNetCore.Mvc;
using NLog;
using System;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Extensions;
public class Broadcast : Controller
{
private static Logger _logger = LogManager.GetCurrentClassLogger();
public string GetCurrentUrl()
{
try
{
// Получаем текущий HTTP-запрос
string url = HttpContext.Request.GetDisplayUrl();
return url;
}
catch (Exception e)
{
_logger.Error(e);
return null;
}
}
}
По итогу получаю ошибку System.NullReferenceException: "Object reference not set to an instance of an object."
В других советах пишут что стоит использовать
HttpContext.Current.Request.RawUrl
HttpContext.Current.Request.QueryString
Но когда я обращаюсь к HttpContext, то внутри него нет Current. Что я делаю не так?
Ответы (1 шт):
Автор решения: justSMTH
→ Ссылка
С аспом много не работал, так что в ответе не уверен. Рейтинга мало, так что коммент оставить не могу.
Вроде как должно быть оно:
Request.Url.ToString()
P.S.
Нагуглил такой вариант: Request.GetDisplayUrl()+'?'+Request.QueryString