У меня есть длительная хранимая процедура, spLongRunningProcess, когда я вызываю ее с помощью Async Await, она запускается и выполняется просто отлично, однако мне нужно вызывать ее, не дожидаясь ответа, потому что это очень длительный процесс .. Вот мойКод ниже, я что-то упустил, но не могу это прибить.
public async Task<ResultObject> LongSPCallAsync()
{
ResultObject ro = new ResultObject();
try
{
using (_context = new DbContext())
{
SqlParameter returnVal2 = new SqlParameter("@ReturnVal2", SqlDbType.Int)
{
Direction = ParameterDirection.Output
};
_context.Database.ExecuteSqlCommandAsync("EXEC @ReturnVal2 = [spLongRunningProcess]", returnVal2).ConfigureAwait(false); //<-- This NEVER runs unless I await it.?
var oooo = returnVal2.Value; //<-- just orphan code for debugging.
}
}
catch (Exception e)
{
await _logService.AddLogAsync(e, $"Error running SP:", "spLongRunningProcess");
}
return ro;
}
В строке Conn, которую я указал (Asynchronous Processing = True)
Чтобы проверить, действительно ли она работает, я просто проверяю базу данных через другой процесс. Просто ищу то, что я пропустил.