Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Асинхронная отправка писем


Автор: Bogdan1024 4.2.2008, 20:43
Нужно асинхронно отправить письмо с сайта по нажатию кнопки. Если просто вставить BeginSendAsync в батн1_клик, то оно буквально засипит угрозами "Асинхронные операции в этом контексте запрещены. Страница, начинающая асинхронную операцию, должна иметь значение асинхронного атрибута true, кроме того асинхронную операцию можно начать на странице только до события PreRenderComplete.".
Так как же правильно отправлять имэйлы?

Автор: Mymik 5.2.2008, 09:44
код в студию... ничего подобного никогда не происходило.

Автор: tol05 5.2.2008, 12:02
напиши в странице
Код

<%@ Page Async="true" ... %>


код
Код

public partial class _Default : System.Web.UI.Page 
{
    void Page_Load(object sender, EventArgs e)
    {
        
    }

    IAsyncResult BeginTask(object sender, EventArgs e, AsyncCallback cb, object state)
    {
        Response.Write("Begin");
        
        //IAsyncResult ar = ...
        
        //отправка письма
        
        return ar;
    }

    void EndTask(IAsyncResult ar)
    {
        Response.Write("End");
    }
    
    protected void Button1_Click(object sender, EventArgs e)
    {
        AddOnPreRenderCompleteAsync(new BeginEventHandler(BeginTask), new EndEventHandler(EndTask));
    }
}

Автор: Bogdan1024 5.2.2008, 19:15
Спасибо, tol05!
А ещё тут есть хорошая статья:
http://www.gotdotnet.ru/LearnDotNet/ASPNET/275975.aspx

Автор: wectula 10.12.2022, 06:52
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)