Место общения программистов C#
Anonymous
Как запустить задачу в HostingEnvironment.QueueBackgroundWorkItem
Сообщение
Anonymous » 27 июн 2024, 15:19
Мне нужно запустить фоновую операцию на веб-сайте ASP.NET 4.8, размещенном в IIS, вот как я это делаю
Код: Выделить всё
public static void AddTaskToClient(int taskId, int clientId)
{
var t = new Task(async () =>
{
try
{
MyGlobalStorage[taskId].Status = StatusEnum.Running;
ResultsResponse res;
using (var wcf = new RfsnCallBack())
res = await wcf.CallWithCBAsync(() => wcf.client.ReadFilesAndSendNotificationsToClient(clientId));
MyGlobalStorage[taskId].ResultData = res;
MyGlobalStorage[taskId].Status = StatusEnum.Done;
}
catch (Exception ex)
{
MyGlobalStorage[taskId].Error = $"Failed to processing (clientId: {clientId}): {ex.Message}";
MyGlobalStorage[taskId].Status = StatusEnum.Failed;
}
});
HostingEnvironment.QueueBackgroundWorkItem(ct => t);
}
но задача никогда не запускается таким образом. Как это решить?
Подробнее здесь:
https://stackoverflow.com/questions/786 ... ndworkitem
1719490795
Anonymous
Мне нужно запустить фоновую операцию на веб-сайте ASP.NET 4.8, размещенном в IIS, вот как я это делаю [code] public static void AddTaskToClient(int taskId, int clientId) { var t = new Task(async () => { try { MyGlobalStorage[taskId].Status = StatusEnum.Running; ResultsResponse res; using (var wcf = new RfsnCallBack()) res = await wcf.CallWithCBAsync(() => wcf.client.ReadFilesAndSendNotificationsToClient(clientId)); MyGlobalStorage[taskId].ResultData = res; MyGlobalStorage[taskId].Status = StatusEnum.Done; } catch (Exception ex) { MyGlobalStorage[taskId].Error = $"Failed to processing (clientId: {clientId}): {ex.Message}"; MyGlobalStorage[taskId].Status = StatusEnum.Failed; } }); HostingEnvironment.QueueBackgroundWorkItem(ct => t); } [/code] но задача никогда не запускается таким образом. Как это решить? Подробнее здесь: [url]https://stackoverflow.com/questions/78677501/how-run-task-in-hostingenvironment-queuebackgroundworkitem[/url]