IUrlHelper Url.Action() выдает исключение нулевого параметраC#

Место общения программистов C#
Ответить
Anonymous
 IUrlHelper Url.Action() выдает исключение нулевого параметра

Сообщение Anonymous »

Я разрабатываю веб-приложение в среде .NET Core MVC (.NET 5.0).
У меня есть класс, унаследованный от ControllerBase (Microsoft.AspNetCore.Mvc), в котором я разработал метод, который примет actionName, ControllerName и порт в качестве параметров и вернет URL-адрес в качестве объекта Uri.
В этом методе я с использованием UriBuilder и назначение Пути через UrlHelpler Url.Action(action, контроллер), что выдает следующую ошибку:
Сообщение об исключении:

Значение не может быть нулевым. (Параметр «помощник»)

Трассировка стека:

в Microsoft.AspNetCore.Mvc.UrlHelperExtensions.Action(помощник IUrlHelper, действие String, контроллер строки)

Мой Код:

Код: Выделить всё

public Uri UriUrlBuilder(string actionName, string controllerName, int? port)
{
try
{
_ = new AppSettingsConfiguration();
UriBuilder uriBuilder = new()
{
Host = AppSettings.BaseURL,
Scheme = "https",
Port = (int)port,
Path = Url.Action(actionName, controllerName)
};
return uriBuilder.Uri;
}
catch (Exception ex)
{
_ = new LogWriter("Class: Common. Method: UriUrlBuilder.  Error: " + ex.Message);
return null;
}
}
Согласно журналам Stack Trace, похоже, мне нужно передать объект IUrlHelper в качестве параметра в методе Url.Action. Но на самом деле этот метод не принимает никаких подобных параметров.
Я посетил следующие ссылки, но не получил особой помощи:
Как использовать Url.Action() в файле класса?
ASP.NET 5 – MVC 6 – модульное тестирование контроллера, использующего Url.Action

Подробнее здесь: https://stackoverflow.com/questions/691 ... -exception
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»