Как запустить асинхронный код в asp.net mvc 2? - PullRequest
0 голосов
/ 08 июня 2010

Я попробовал это:

    BackgroundWorker bw = new BackgroundWorker();

    bw.DoWork += (o, e) =>
    {
        SendConfEmail();
    };

   bw.RunWorkerAsync();

, но это не сработало.SendConfEmail требует времени для запуска.Я думаю, это потому, что BackgroundWorker предназначен для winforms, а не webforms.

Есть идеи, как решить проблему?

Ответы [ 2 ]

1 голос
/ 08 июня 2010

Ожидание фонового потока для постановки в очередь на ЦП из запроса будет почти бессмысленным. Вам, вероятно, следует ставить в очередь свои электронные письма из всех потоков и обслуживать их из отдельного процесса или из выделенного потока, созданного, например, в global.asax.

0 голосов
/ 28 июля 2010

Я решил это в конце концов, используя объект AsyncCallback.

Было бы идеальным решение для централизованного почтового сервера, но этот проект был критически важным доказательством концепции, которую нужно было завершить всего за пять дней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...