Мое приложение отправляет некоторые электронные письма, и пути к изображениям, на которые есть ссылки в электронных письмах, должны различаться в зависимости от того, как пользователь получил доступ к странице, отправляющей электронную почту. Я много раз использовал варианты кода без проблем, но я впервые пытаюсь сделать это в приложении MVC:
var relImagePath = controllerContext.HttpContext.Response.ApplyAppPathModifier("~/Emails/Images");
var absImagePath = new Uri(controllerContext.HttpContext.Request.Url, relImagePath).AbsoluteUri;
Во второй строке выдается исключение NullReferenceException, поскольку HttpContext.Request.Url имеет значение null. Как это может быть?
Edit: я должен отметить, что я запускаю этот код в потоке пула потоков, отдельном от того, который обрабатывал запрос. Если я перенесу этот код обратно в поток, выполняющий действие контроллера, URL будет там. Сейчас я прибег к выполнению кода в том же потоке.