Как получить текущий полный 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

→ Ссылка