Я использую Hangfire для выполнения повторяющихся заданий в своем веб-API и использую System.Web.HttpContext.Current.Server.MapPath в функции "RoutineMethod".
Но проблема в том, что объект выбрасывает нулевой объектисключение.Я искал проблему и обнаружил, что повторяющиеся задания не используют потоки http, они используют фоновые потоки.
Теперь, чтобы решить эту проблему, мне нужно вызвать внутреннюю (конечную точку) с помощью httpclient.
Но для этого мне нужно дать URL веб-API (для генерации URI).Так есть ли другой способ вызова внутренней функции с использованием httpclient.
Мой текущий код:
public static async Task<IHttpActionResult> RoutineTask()
{
//It was like this before.
//await new DemoController().RoutineMethod();
//await new DemoController().RoutineMethod2();
//I am planning to do this.
using (var client = new HttpClient())
{
//But I need to give URI which I don't think is a good idea.
var uri = new Uri("http://localhost/DemoApp/api/DemoController/RoutineMethod");
await client.GetAsync(uri);
}
return new DemoController().Ok();
}