2011-11-01 4 views
2

때때로 내 웹 사이트에서 뭔가를 실행해야합니다. 예를 들어, 지금은 지원 계정에서 누군가에게 메일을 보내고 싶습니다.asp.net 웹 사이트의 간단한 스크립트 실행

protected void Page_Load(object sender, EventArgs e) 
{ 
    String notificationMessage = "Email body."; 
    Mailer.SendMail("[email protected]", "Email header", notificationMessage); 
} 

이 조금 바보입니다 :

나는 다음 다음 웹 페이지를 삭제합니다 page_load 이벤트에 일부 코드를 넣어, 임시 웹 페이지를 만들 계획이 작업을 수행합니다. 그러나 SQL Server 및 메일 링 모듈과 같이 web.config에서 설정 한 항목에 액세스하는 것은 상당히 편리합니다.

더 좋은 방법이 있나요?

+0

다른 방법은 데이터베이스 내부에 값을 저장하고 동적으로로드하는 것입니다. – JonH

+2

아마도 GenericHandler와 함께 뭔가? 적어도 페이지의 오버 헤드는 지니고 있지 않습니다. – Bazzz

+0

나는 @Bazzz에 동의한다. 일반적인 HttpHandler가 좋은 접근 방법이다. – neontapir

답변

1
으로 @Bazzz 및 @neontapir가 언급 한

, 나는 코드로 이것에 대한 일반 핸들러 파일을 사용합니다 :

public class Handler : IHttpHandler 
{ 
    public void ProcessRequest(HttpContext context) 
    { 
      String notificationMessage = "Email body."; 
      Mailer.SendMail("[email protected]", "Email header", notificationMessage); 
    } 
} 

이 방법 당신은 어떤 HTML 렌더링하지, 빨리 처리 할 것입니다, 당신 하나의 .ashx 파일 만 .aspx 및 .aspx.cs와 비교할 것입니다.

장기적으로 볼 때 이렇게 만들면 애플리케이션에 응용 프로그램을 빌드하는 것이 좋습니다.

1

클래스를 사용하는 경우 IsBodyHtml을 true로 설정하고 웹 페이지를 만들거나 삭제하는 것에 대해 걱정할 필요없이 HTML을 메시지에 직접 제공 할 수 있습니다. 전자 메일을 통해 ASP.NET 페이지를 게시하고 해당 페이지와 상호 작용할 것으로 기대하십시오.

정확히 무엇을하려고합니까?

관련 문제