В моем сценарии, когда пользователь меняет некоторые поля в программе и делает SAVE
, webserivce
запрос webserivce
для сохранения некоторой информации о регистрации в базе данных. Я сделал поиск на веб-сайте и нашел это решение для вызовов Async
:
ThreadPool.QueueUserWorkItem(delegate
{
// Create an instance of my webservice object.
// call its Log webmethod.
});
Но поскольку у меня нет большого опыта работы с webservices
и вызовами Async
поэтому я хотел показать вам сценарий, который у меня есть, и то, как я обрабатываю его, чтобы получить ваше мнение об этом, и если это правильный способ сделать это. Спасибо за предложения.
Можете ли вы потерпеть неудачу в работе по регистрации? Только тогда вы должны начать "фоновую работу" в приложении ASP.NET.
QueueUserWorkItem
будет работать. Более современная версия - Task.Run
. Удостоверьтесь, что вы уловили ошибки, возникающие в потоке потока. Если нет, вы никогда не узнаете о багах и не потеряете работу.
Если вы ожидаете большой объем таких вызовов или ожидаете, что они займут много времени, рассмотрите возможность использования async IO. Он не использует нить в процессе (даже фоновый поток).