В ASP.Net как вы можете обновить базу данных после отправки HttpResponse - PullRequest
0 голосов
/ 22 сентября 2011

Я новичок в кодировании ASP.Net и написал простой веб-сайт.

Клиент отправляет POST на мой сайт. Почтовые данные используются для обновления моей базы данных и сохранения изображения на веб-сайте. Ответ клиенту очень прост и может быть отправлен до обновления базы данных или сохранения изображения.

Мой веб-сайт в настоящее время настроен с использованием метода Page_Load

protected void Page_Load(object sender, EventArgs e)
{
    UploadData uploadData = new UploadData(Request);

    if (uploadData.isValid)
    {
        UploadDataToDB(uploadData);
        SaveImage();
    }    
}

Как можно немедленно отправить ответ клиенту, обновить базу данных и сохранить изображение после отправки ответа?

Ответы [ 2 ]

0 голосов
/ 22 сентября 2011

Если вы запускаете свой код в отдельном потоке (либо используете Task, либо создаете свою собственную многопоточную очередь работы, в зависимости от того, сколько нагрузки это будет видеть), вы можете начать работу и разрешить Page_Load возвращать.

0 голосов
/ 22 сентября 2011

Используйте ajax для запуска асинхронного сохранения с использованием метода страницы, который вызывает веб-сервис или другую внутреннюю логику. сделать обновление БД и сохранить изображение в бэкэнде. если это не удастся с ajax, у вас есть метод onError, чтобы уведомить пользователя о пользовательском интерфейсе, но при таком подходе пользовательский интерфейс никогда не будет заблокирован.

...