моего кода:остановка нить, когда задача была выполнена в C#
if (save)
{
request.DataMessage = base.SaveChanges();
if (request.DataMessage.IsSuccess)
{
request.CustomID = arRequest.CustomID;
Task.Run(() => TaskWriteARAddLog(request, arTimestamp, arRequest, _tModel));
}
}
, когда один пользователь работает на моем приложении, чем я не получаю какой-либо вопрос, но когда несколько пользователей работают, чем я получаю этот вопрос: «Новая транзакция не допускается, потому что в сеансе есть другие потоки».
Это, кажется, происходит из EF/SQL, вы должны опубликовать тело TaskWriteARAddLog. Может быть, вы ничего не распоряжаетесь. – Robert
Да, это исходит от EF, поэтому, пожалуйста, скажите мне решение, –
Вы [используете task.Run() для неправильной цели] (http://blog.stephencleary.com/2013/10/taskrun-etiquette- и -собственный-usage.html). Для предложения нам нужно будет увидеть окружающий код. –