rahul_0705 Ответов: 2

Httpcontext получает null внутри функции await


Ниже приведен пример использования async await.
когда нам выполнить любой код внутри ждут свойство HttpContext становится нулем

Что я уже пробовал:

//Here is the sample of Async Function in which i cant get Httpcontext
    public async Task<string> Get(int id)
    {
		  var x = HttpContext.Current;

		  if (x == null)
		  {
			  // not thrown
			  throw new ArgumentException("HttpContext.Current is null");
		  }

		  await Task.Run(() => { GetRealId(); });

		return "value";
     }

    //HttpContext Getting null here..
    public void GetRealId()
    {
		  var r = HttpContext.Current;
    }

2 Ответов

Рейтинг:
2
Рейтинг:
2

KarstenK

Вам нужно хранить httpcontext вне области действия вашей функции, как член класса или как статический.

Я думаю, что это может быть тайм-аут. Установите тайм-ауты выше.


rahul_0705

Привет,
спасибо за решение..
но это уже я пробовал, на самом деле у меня есть один запрос синхронизации, который передается со стороны клиента, и из этой функции я вызываю асинхронную функцию с помощью asych await.
в этом процессе я получил httpcontext null.
посмотрите, что я пробовал.
HttpContext ctx = HttpContext. Current;
ожидайте задач.Запустить(() =&ГТ;
{
Свойство HttpContext.Ток = СТХ;
тест();
});