2009-11-25 7 views
0

메일을 보내는 데 별도의 클래스와 고유 한 방법을 사용하고 있습니다. 모든 웹 페이지는 메일을 보내는 방법을 호출합니다. 그러나 나는 Client.SendAsync()을 사용하여 메일을 보냈습니다. 비동기 적으로 메일을 보내는 동안 다음 오류가 발생합니다.메일을 비동기 적으로 보낼 수 없습니다.

"비동기 작업은이 컨텍스트에서 허용되지 않습니다. 페이지는 비동기 작업은 비동기 속성을 true로 설정하고 비동기 작업은 이전 PreRenderComplete 이벤트 페이지에서 시작할 수 있습니다 가지고 있어야 시작"나는 설정

Async=true in @ 페이지 지시문,하지만 별도의 클래스를 사용하고 있으므로 사용하지 마십시오. 이 문제를 극복하기위한 다른 방법이 있습니까?

답변

1

비동기 작업을 시작하기 만하면됩니다. 전에 PreRenderComplete 이벤트를 시작하십시오. 관련 ASP.NET 코드를 게시 하시겠습니까? 또한

이 읽기 ​​: 그 분리 된 클래스는 인스턴스화하고 페이지 요청의 컨텍스트 내에서 선언 된 경우 trueRunning an asynchronous operation triggered by an ASP.NET web page request Async 설정

0

은 OK입니다.

그러나 아마도 SendCompleted 이벤트를 처리해야합니다.

MSDN Reference의 샘플 코드를 참조하십시오.

+0

. 하지만 그때도 그 오류를 보여주고 있습니다. – Nila

관련 문제