ASP.NET 2.0에서 웹 이벤트

만료된 KB 콘텐츠 고지 사항

이 문서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 작성되었습니다. 따라서 이 문서는 “있는 그대로" 제공되며 더 이상 업데이트되지 않습니다.

Microsoft 제품의 베타 릴리스에 대해 설명 합니다. 이 문서에 대 한 정보를 제공-이며 사전 통보 없이 변경 될 수 있습니다.

공식 제품 지원 되지 않습니다이 베타 제품은 Microsoft에서 제공 됩니다. 베타 릴리스 지원을 얻는 방법에 대 한 내용은 베타 제품 파일에 포함 되어 있는 설명서를 참조 하거나 릴리스를 다운로드 한 웹 위치를 확인 합니다.

ASP.NET 지원 음성 열

이 칼럼의 필요에 맞게 초대 합니다 관심 있는 주제에 대 한 아이디어를 제출 하 고 보려고 하는 문제 해결 기술 자료 문서 및 Support Voice 칼럼 앞으로. 요청에 대해이 양식을 사용 하 여 자신의 생각과 의견을 제출할 수 있습니다. 이 칼럼의 맨 아래에 폼에 대 한 링크가 있습니다.

소개

ASP.NET Support Voice 칼럼을 시작 합니다. Jerry Orman 라고 해요입니다. 로 연결 된 Microsoft 5 년 이상 하 고 새로운 SharePoint 기술 FrontPage 등 웹 관련 기술에 초점을 맞춘 많은 시간을 투자 합니다. 지난해 기술 지원 엔지니어는로 ASP.NET 작업 투자 했습니다.

이번 달 Support Voice 칼럼에서 ASP.NET 2.0의 향후 릴리스에서 제공 하는 새로운 웹 이벤트 기능을 설명 하기 위해 야 지.

ASP.NET 2.0에서 웹 이벤트 기능

ASP.NET 2.0에서 제공 하는 새로운 주요 서비스 상태 모니터링 시스템에서 제공 하는 웹 이벤트 기능입니다. Web.config 파일을 수정 하 여 처리 되지 않은 예외, 만료 된 폼, 인증 티켓 및 응용 프로그램에서 로그온 한 원하는 다른 데이터를 기록 하 여 상태 모니터링 시스템을 사용할 수 있습니다. 이 열에는 웹 이벤트 기능을 사용 하 여 얻을 수 이므로 ASP.NET 2.0에서는 다양 한 공급자를 사용 하는 방법 보여 주는 예제도 제공 합니다.

로그는 공급자에 이벤트를 연결 하는 규칙을 정의 하 여 수행 됩니다. 규칙은 공급자에 게 전달 되는 이벤트의 형식을 정의 합니다. 다음 기본 이벤트 로그를 사용할 수 있습니다.
WebBaseEvent모든 이벤트 기본 이벤트 클래스입니다. 필요한 들어 번호, 이벤트 메시지 및 이벤트 정보 등 이벤트 코드, 이벤트 상세 코드, 날짜 및 시간 이벤트가 발생 한 모든 이벤트 속성의 순서.
WebManagementEvent응용 프로그램 수명, 요청, 오류 및 감사 이벤트를 같은 관리 이벤트에 대 한 기본 이벤트 클래스입니다.
WebHeartbeatEvent유용한 런타임 상태 정보를 정기적으로 응용 프로그램에 의해 생성 된 이벤트입니다.
WebAuditEvent권한 부여 실패, 암호 해독 실패 등 같은 조건을 표시 하는 데 사용 되는 보안 감사 이벤트의 기본 클래스
WebRequestEvent모든 정보 요청 이벤트에 대 한 기본 클래스입니다.
WebBaseErrorEvent오류 조건을 나타내는 모든 이벤트 기본 클래스.
사용할 수 있는 공급자의 형식을 이벤트 출력 이벤트 뷰어, SQL Server, Windows 관리 계측 (WMI) 및 전자 메일을 보낼 수 있습니다. 미리 구성 된 공급자 및 이벤트 매핑이 기록 하는 이벤트 출력 하는 데 필요한 작업 시간을 줄입니다.

ASP.NET 2.0 시작 및 중지, 뿐만 아니라 로그 처리 되지 않은 예외는 응용 프로그램 도메인을 기준으로 이벤트 로그에 이벤트 로그 공급자-의-기본을 사용 합니다. 이렇게 하면 몇 가지 기본 시나리오를 적용할 수 있습니다. 예를 들어, 응용 프로그램에서 예외를 throw 하지만 사용자 오류를 저장 하지 않습니다를 재현할 수 없는 가정해 봅니다. 기본 이벤트 로그 규칙으로 어떤 종류의 오류가 발생 한 더 잘 이해할 수 예외 및 스택 정보를 수집할 수 있습니다. 또는 응용 프로그램 세션 상태가 손실 됩니다, 여부 확인 하는 응용 프로그램 도메인 재활용은 왜 처음부터 응용 프로그램 도메인이 중지 이벤트 로그에서 볼 수 있습니다.

또한 상태 모니터링 시스템은 확장 가능 합니다. 예를 들어, 사용자 지정 웹 이벤트를 정의 응용 프로그램 내에서 발생 하도록 하 수 같은 전자 메일 공급자를 이벤트 정보를 보낼 것인지 규칙을 정의 합니다. 상태 모니터링 공급자를 계측 하면 쉽게 연결할 수 있습니다. 또 다른 예로, 광고는 처리 및 각 이벤트 SQL Server 데이터베이스로 보내는 규칙을 설정할 때마다 이벤트를 발생 수 있습니다. 또한 행을 여러 번 로그온 하 고 전자 메일 기반 공급자를 사용 하 여 이벤트를 설정 하지 않으면 때 이벤트를 발생 수 있습니다.

기본 공급자 및 이벤트에 대 한 구성은 전역 Web.config 파일에 저장 됩니다. 전역 Web.config 파일에서 ASP.NET 1 Machine.config 파일에 저장 된 모든 웹 기반 설정 저장 x. 전역 Web.config 파일은 다음 디렉터리에 있습니다.
%windir%\Microsoft.Net\Framework\v2.0.*\config\Web.config
전역 Web.config 파일의 < healthMonitoring > 섹션은 기본 구성 설정을 제공합니다. 이 설정은 오버라이드하거나 < healthMonitoring > 섹션에서 응용 프로그램의 Web.config 파일에서 구현 하 여 사용자 설정을 구성 합니다.

전역 Web.config 파일의 < healthMonitoring > 섹션에는 다음과 같은 항목이 있습니다.
  • 공급자 이벤트 뷰어, WMI 및 SQL Server 대 한 설정 공급자가 포함 되어 있습니다.
  • eventMappings 다양 한 WebBase 클래스에 대 한 매핑을 포함합니다. 사용자 지정 이벤트 클래스를 생성 하는 경우이 목록을 확장할 수 있습니다. 사용자 지정 이벤트 클래스를 생성 하면 보다 세부적인 정보를 보내면 공급자를 통해. 예를 들어, 전자 메일에 사용자 지정 이벤트를 보내는 동안 SQL Server 보낼 처리 되지 않은 예외를 구성할 수 있습니다.
  • 규칙 공급자에 대 한 eventMappings 링크를 제공 합니다.
  • 버퍼링 SQL Server 및 전자 메일 공급자를 사용 하 여 이벤트를 공급자에 플러시 종종 방법을 결정 하는 데 사용.
다음은 전역 Web.config 파일에서 코드 예제입니다.
<healthMonitoring>
<!-- Event Log Provider being added. -->
<providers>
<add name="EventLogProvider" type="System.Web.Management.EventLogWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
</providers>


<!-- Event mapping provides a friendly name to the events based on the WebBaseErrorEvent class. -->

<eventMappings>
<add name="All Errors" type="System.Web.Management.WebBaseErrorEvent,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"
startEventCode="0" endEventCode="2147483647" />
</eventMappings>


<!-- Rule tying the "All Errors" event mapping to the EventLog Provider. -->
<rules>
<add name="All Errors Default" eventName="All Errors" provider="EventLogProvider"
profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00"
custom="" />
</rules>

</healthMonitoring>

공급자 샘플

이 공급자 샘플에는 다음 파일이 포함 되어 있습니다.
  • ViewEvents.aspx 파일 Page_Load 이벤트 기록 단추 클릭 이벤트에서 MyEvent 사용자 지정 웹 이벤트를 트리거합니다. SQL Server 이벤트 기록 목록에는 Web.config 파일에 데이터베이스 연결을 사용 하 여 GridView에 있습니다.

    ASPNETDB 데이터베이스를 가리키도록 Web.config 파일에서의 연결 문자열을 구성 해야 합니다.
  • Web.config 파일 모든 다양 한 공급자와 규칙 구성 하 고 주석으로 처리 합니다. 주석 규칙을 테스트 하려면 다음 출력 모양을 보려면 ViewEvent.aspx을 Default.aspx 페이지.
  • App_Data 폴더에 는 MyEvent.cs 파일 있는. 사용자 지정 이벤트를 발생 시키십시오 ViewEvents.aspx 페이지에 사용 됩니다.
  • Default.aspx 파일 -처리 되지 않은 예외 로그를 볼 수 있는 System.NullReferenceException을 Throw 합니다.
  • TemplateemailProvider 샘플 의 EmailTemplateTest.aspx 파일 사용. EmailTemplateTest.aspx 파일에 대 한 코드 숨김 파일에 예외를 throw 하려면 페이지가 코드 주석 처리 제거 수 있습니다.

이벤트 뷰어는 이벤트를 저장 하는 방법

앞서 언급 했 듯이, 이벤트 로그 공급자는 이벤트 뷰어는 구성 전역 Web.config 파일에. 기본적으로 WebBaseErrorEventWebFailureAuditEvent 에 따라 모든 이벤트가 기록 됩니다. 이벤트 로그에 추가 정보를 기록 하려면 추가 규칙을 추가할 수 있습니다. 예를 들어, (, 모든 이벤트 WebBaseEvent기준) 모든 이벤트를 기록 하려는 경우 Web.config 파일에 다음 규칙을 추가할 수 있습니다.
<healthMonitoring><rules>
<add name="All Events" eventName="All Events" provider="EventLogProvider" profile="Critical" />
</rules>
</healthMonitoring>
이 규칙은 이벤트 로그 공급자가 모든 이벤트 이벤트 맵 연결할. 전역 Web.config 파일에 eventMapping와 공급자가 모두 포함 됩니다. 다음 페이지로 이동 하 여 발생 하는 이벤트를 트리거할 수 ViewEvents.aspx 페이지를 사용할 수 있습니다. 페이지 단추를 클릭 하 고 Page_Load 이벤트에 사용자 지정 이벤트 MyEvent 를 또한 발생 합니다.

생성 된 데이터의 종류를 확인 하려면 Default.aspx 페이지를 찾습니다. System.NullReferenceException 예외를 throw 합니다 및 다음과 같은 이벤트가 기록 됩니다 이벤트 뷰어: 로깅에 이벤트 로그에 모든 이벤트 정보 이벤트를 생성 합니다. 다음 이벤트 이후 페이지 요청에 대해 URL 권한 부여를 보여줍니다.

SQL Server 이벤트를 저장 하는 방법

이 메서드는 Aspnet_regsql.exe 도구에 의해 생성 된 ASPNETDB 데이터베이스를 사용 합니다. 기본 공급자는 App_data 폴더의 파일 기반 데이터베이스 또는 SQL Server 로컬 SQLExpress 인스턴스 중 하나를 사용 하 여 LocalSqlServer 연결 문자열을 사용 합니다. LocalSqlServer 연결 문자열과 SqlProvider 모두 전역 Web.config 파일에 구성 됩니다.

전역 Web.config 파일에 LocalSqlServer 연결 문자열은 다음과 같습니다.
<connectionStrings><add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>

다른 SQL Server 서버를 사용 하려면 %windir%\Microsoft.Net\Framework\v2.0.*\Aspnet_regsql.exe 폴더에 있는 Aspnet_regsql.exe 도구를 사용 해야 합니다. Aspnet_regsql.exe 도구를 사용 하 여 SQL Server 서버에 사용자 지정 ASPNETDB 데이터베이스를 생성 하 고, 응용 프로그램.config 파일에 연결 문자열을 추가 하 고 새 연결 문자열을 사용 하 여 공급자를 추가 합니다. 만든 ASPNETDB 데이터베이스를 만든 후에 eventMapping는 sqlProvider 연결할 규칙을 설정 해야 합니다.

사용자 지정 데이터베이스를 구성 하려면 다음과이 같이 하십시오.
  1. 있는 ASPNETDB 데이터베이스를 생성 합니다.
    1. Aspnet_regsql.exe-W, 실행 하 고을 선택 합니다.
    2. 명령을 실행 하는 과정을 자동화: Aspnet_regsql-A-S w SQL Server -동부
  2. 다음과 같이 되도록 데이터베이스를 가리키는 연결 문자열을 추가 합니다.
    <connectionStrings><add name="MYASPNETDB" connectionString="Server=<SQL Instance>;Integrated Security=SSPI;Database=aspnetdb"/>
    </connectionStrings>
  3. 다음과 같이 되도록 MYASPNETDB 연결 문자열을 사용 하 여 공급자를 추가 합니다.
    <healthMonitoring><providers>
    <add name="MySqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider" connectionStringName="MYASPNETDB" maxEventDetailsLength="1073741823" buffer="false"/>
    </providers>
    </healthMonitoring>
기본 SqlProvider 사용 하거나 직접 공급자를 구성 하는 여부는 이벤트 맵 공급자 연결 규칙을 추가 해야 합니다. 다음 규칙은 모든 이벤트 이벤트 맵 위에서 만든 새 공급자를 연결 합니다. 이 규칙은 WebBaseEvent 에 따라 모든 이벤트 기록 하 고는 MYASPNETDB 연결 문자열을 사용 하는 MySqlWebEventProvider에 게 보낼. 다음 코드는 이벤트 맵 공급자 연결 규칙을 추가 합니다.
<healthMonitoring><rules>
<add name="All Events" eventName="All Events" provider="MySqlWebEventProvider" profile="Critical"/>
</rules>
</healthMonitoring>
SQL Server 오류 보내기만 하려는 경우 다음과 같은 규칙을 추가할 수 있습니다.
<add name="All Errors" eventName="All Errors" provider="MySqlWebEventProvider" profile="Critical"/>

Wmi 이벤트를 전달 하는 방법

Wmi 이벤트를 전달할 수도 있습니다. WMI 공급자는 기본적으로 전역 Web.config 파일에 사용자에 대 한 구성 됩니다.

다음 코드 예제에서는 wmi 이벤트를 전달 하는 규칙을 추가 합니다.
<providers><add name="WmiWebEventProvider" type="System.Web.Management.WmiWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
</providers>

공급자와 해당 이벤트를 수신할 WMI 수신기 응용 프로그램에는 eventMapping를 연결 하는 규칙을 추가 해야 합니다. 다음 코드 예제에서는 모든 이벤트 이벤트 맵 WMI 공급자를 연결 하는 규칙을 추가 합니다.
<rules><add name="All Events" eventName="All Events" provider="WmiWebEventProvider" profile="Critical"  />
</rules>

샘플 콘솔 응용 프로그램 SampleASPNET ManagementEventWatcher 개체를 사용 하 여 이벤트를 모니터링 하 고 콘솔 창에 표시 됩니다.
SampleASPNET를 사용 하려면 다음과이 같이 하십시오.
  1. SampleASPNET.exe를 실행 합니다.
  2. ViewEvents.aspx 페이지 찾아보기 이렇게 하면 콘솔 응용 프로그램에 나열 된 이벤트를 표시 됩니다.
  3. 이벤트 Button_Click 로그를클릭 합니다. 페이지가 다시 게시 될 및 기록 된 추가 이벤트를 볼 수 있습니다.
참고: 원격 컴퓨터에서 이벤트를 모니터링 하는 경우 수신 응용 프로그램이 관리자 액세스 권한이 있는 계정으로 해당 컴퓨터에서 실행 되 고 있어야 합니다.

전자 메일 이벤트 전달 방법

전자 메일 이벤트를 전달할 수도 있습니다. 이렇게 하면 (아마도 밖으로 넘치는) 편지함에서 직접 응용 프로그램에 대 한 정보를 얻을 수 있습니다. 조심 수도 있습니다 보낼 수 있습니다 실수로 직접 많은 정보가 있는 처럼 전자 메일 공급자에 매핑할 어떤 이벤트 규칙에 대 한 SQL Server 또는 이벤트 로그에 더 적합 합니다.

SimpleMailWebEventProvider 및 TemplatedMailWebEventProvider 두 전자 메일 공급자는. 각만 TemplatedMailWebEventProvider에 사용할 수 있는 "템플릿" 및 "detailedTemplateErrors" 특성을 제외 하 고는 동일한 구성 특성에 있습니다.

참고: 이러한 전자 메일 공급자의 구성 됩니다. Web.config 파일에 추가 해야 합니다.

이러한 두 가지 전자 메일 공급자 간의 주요 차이점은 SimpleMailWebEventProvider 일반 템플릿에서 수정할 수 없는 전자 메일을 보내는. 구성 된 공급자의 목록에 다음 규칙을 사용 하 여이 전자 메일 공급자를 추가 하는 예제 Web.config 파일:
<add name="mySimple-mailWebEventProvider" type="System.Web.Management.Simple-mailWebEventProvider"to="e-mail@foo.com" from="e-mail@foo.com" maxMessagesPerNotification="1" maxEventsPerMessage="10"
buffer="true" bufferMode="Critical Notification"
subjectPrefix="Web Events"/>

다음 규칙은 모든 이벤트 이벤트 맵 전자 메일 공급자를 연결 하도 추가 됩니다.
<add name="All Events" eventName="All Events" provider="mySimple-mailWebEventProvider" profile="Critical"/>
전자 메일 경고 메시지는 다음과 유사 합니다.
제목: 이벤트 공지, 12, 1 부: 받은 /WebSite3 EventsMicrosoft.Samples.WebEvents.MyEvent 웹 이벤트

* * 응용 프로그램 정보 * *
---------------
응용 프로그램 도메인: d047d537-9-127687218865923053 신뢰 수준: 전체 응용 프로그램 가상 경로: WebSite3 응용 프로그램 경로: C:\Documents, Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ 컴퓨터 이름: < 컴퓨터 이름 >

* * 이벤트 * *
---------------
이벤트 코드: 100010
이벤트 메시지: Button1_Click
이벤트 시간: 2005 년 8 월 16 일 오후 10시 12분: 52
이벤트 시간 (UTC): 8/17/2005 오전 3시 12분: 52
이벤트 ID: 6e5cd252d6114a9e98687598dc6b5d50 이벤트 시퀀스: 12 이벤트 발생: 5 이벤트 상세 코드: 0

사용자 지정 이벤트 정보:

---------------
다음은 전자 메일 알림 메시지를 처리 되지 않은 예외를 보여 줍니다.
제목: 이벤트 알림 7, 1 부: 받은 /WebSite3 EventsSystem.Web.Management.WebRequestErrorEvent 웹 이벤트

* * 응용 프로그램 정보 * *
---------------
응용 프로그램 도메인: d047d537-5-127687293149504903 신뢰 수준: 전체 응용 프로그램 가상 경로: WebSite3 응용 프로그램 경로: C:\Documents, Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ 컴퓨터 이름: < 컴퓨터 이름 >

* * 이벤트 * *
---------------
이벤트 코드: 3005
이벤트 메시지: 처리 되지 않은 예외가 발생 했습니다.
이벤트 시간: 8/17/2005 오전 12시 17분: 37
이벤트 시간 (UTC): 8/17/2005 오전 5시 17분: 37
이벤트 ID: 14b7f24102e140bbbae302d80e5a5f36 이벤트 시퀀스: 7 이벤트 발생: 1 이벤트 코드를 자세히: 0

프로세스 정보:
프로세스 ID: 2292
프로세스 이름: WebDev.WebServer.EXE
계정 이름: 도메인 \ 사용자

예외 정보:
예외 유형: System.NullReferenceException
예외 메시지: 개체 참조가 개체의 인스턴스로 설정 되지 않았습니다.

요청 정보:
요청 URL: http://localhost:2087/WebSite3/Default.aspx
요청 경로: /WebSite3/Default.aspx
사용자 호스트 주소: 127.0.0.1
사용자: 도메인 \ 사용자
인증: True
인증 유형: NTLM
스레드 계정 이름: 도메인 \ 사용자

스레드 정보:
스레드 ID: 7
스레드 계정 이름: 도메인 \ 사용자
가장: False
스택 추적: c:\Documents 및 Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.cs:line 15 _Default.Page_Load (개체 sender, EventArgs e)에
System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, 개체 o, 개체 t, EventArgs e)에서
System.Web.Util.CalliEventHandlerDelegateProxy.Callback (개체 sender, EventArgs e)에서
System.Web.UI.Control.LoadRecursive()에서 System.Web.UI.Control.OnLoad (EventArgs e)에서
System.WebUI.Page.ProcessRequestMain (includeStagesBeforeAsyncPoint 부울, 부울 includeStagesAfterAsyncPoint)에
TemplatedMailWebEventProvider 있습니다-그렇다면 있습니다-템플릿으로 ASPX 페이지를 지정할 수 있습니다. ASPX 페이지의 출력 받은 데이터 모양을 사용자 지정할 수 있도록 전자 메일 본문에 사용 됩니다.

샘플 응용 프로그램 TemplatedMailWebEventProvider Web.config 파일에 추가 하 고 서식 지정 하는 EmailTemplateTest.aspx 페이지에 다음 코드를 사용 합니다. (EmailTemplateTest.aspx 페이지 버퍼에 사용할 수 있는 이벤트를 반복 하는 테이블에 표시입니다.)
<add name="myTemplatedMailWebEventProvider" type="System.Web.Management.TemplatedMailWebEventProvider"to="e-mail@foo.com" from="e-mail@foo.com " buffer="true"
bufferMode="Critical Notification" maxMessagesPerNotification="10" maxEventsPerMessage="10"
template="e-mailTemplateTest.aspx" detailedTemplateErrors="false" />

전자 메일 경고 메시지는 다음과 유사 합니다.
제목: 이벤트 알림 3, 부 1시 10분 /WebSite3에서 받은 이벤트

항목 소스 시간 코드 세부 코드 메시지
4 System.Web.Security.UrlAuthorizationModule 2005 년 8 월 17 일 오전 12시 40분: 45 요청에 대해 4003 0 URL 권한 부여 성공.
4 8/17/2005 오전 12시 40분: 45 요청 4004 0 파일 권한 부여 했습니다.
7 ASP입니다. ViewEvents_aspx 2005 년 8 월 17 일 오전 12시 40분: 45 100010 0 이벤트 샘플 페이지를 로드 합니다.
8 ASP입니다. ViewEvents_aspx 2005 년 8 월 17 일 오전 12시 40분: 45 100010 Button1_Click 0
5 SystemWeb.Security.UrlAuthorizationModule 2005 년 8 월 17 일 오전 12시 40분: 45 요청에 대해 4003 0 URL 권한 부여 성공.
5 8/17/2005 오전 12시 40분: 45 요청 4004 0 파일 권한 부여 했습니다.
9 ASP입니다. ViewEvents_aspx 2005 년 8 월 17 일 오전 12시 40분: 45 100010 0 이벤트 샘플 페이지를 로드 합니다.
10 ASP입니다. ViewEvents_aspx 2005 년 8 월 17 일 오전 12시 40분: 45 100010 Button1_Click 0
6 System.Web.Security.UrlAuthorizationModule 2005 년 8 월 17 일 오전 12시 40분: 46 요청에 대해 4003 0 URL 권한 부여 성공.
6 8/17/2005 오전 12시 40분: 46 요청 4004 0 파일 권한 부여 했습니다.
두 경우 모두 버퍼 특성이 false 이면 전자 메일 이벤트가 하나만 포함 됩니다. True로 설정, 버퍼링도 버퍼 플러시 빈도 나타내는 bufferMode를 지정 해야 합니다. 전역 Web.config 파일에 몇 가지 기본 bufferModes 있습니다.

경우 detailedTemplateErrors = "true"를 선택 하 고 서식 파일을 실행할 때 발생 하는 오류는 전자 메일의 본문에 전송 됩니다. 경우 detailedTemplateErrors = "false" 일반 오류 전송 됩니다.

EmailTemplateTest.aspx에서 throw 하는 자세한 오류는 다음과 같습니다.
서버 오류 ' / WebSite3' 응용 프로그램.

이 이벤트 알림을 만드는 데 사용할 템플릿 페이지 실행 하는 동안 처리 되지 않은 예외가 발생 했습니다. 이 메시지에 포함 된 1 이벤트 삭제 되었습니다.

설명: 현재 웹 요청 실행 하는 동안 처리 되지 않은 예외가 발생 했습니다. 자세한 내용은 오류 및 코드에서 발생 한 스택 추적을 검토 하십시오.

예외 정보: System.Web.HttpException: enableSessionState 구성 파일 또는 Page 지시문이 true로 설정 된 경우에 세션 상태를 사용할 수 있습니다. 또한 있는지 확인 하십시오 해당 System.Web.SessionStateModule 또는 < 구성 >에 사용자 지정 세션 상태 모듈 포함 \ < system.web > \ < httpModules > 응용 프로그램 구성에서 섹션입니다.

원본 파일: c:\Documents 및 Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs 선: 17

스택 추적: [HttpException (0x80004005): enableSessionState 구성 파일 또는 Page 지시문이 true로 설정 된 경우에 세션 상태를 사용할 수 있습니다. 또한 있는지 확인 하십시오 해당 System.Web.SessionStateModule 또는 < 구성 >에 사용자 지정 세션 상태 모듈 포함 \ < system.web > \ < httpModules > 응용 프로그램 구성에서 섹션입니다.]
System.Web.UI.Page.get_Session() +146
c:\Documents 및 Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs:17 e mailTemplateTest.Page_Load(Object sender, EventArgs e)
System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, 개체 o, 개체 t, EventArgs e) + 13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback (개체 sender, EventArgs e) + 45
System.Web.UI.Control.OnLoad(EventArgs e) + 80
SystemWeb.UI.Control.LoadRecursive() +49
System.Web.UI.Page.ProcessRequestMain (includeStagesBeforeAsyncPoint 부울, 부울 includeStagesAfterAsyncPoint) +3749

[HttpUnhandledException (0x80004005): 형식의 'System.Web.HttpUnhandledException' throw 된 예외입니다.]
System.Web.UI.Page.HandleError(Exception e) +929
System.Web.UI.Page.ProcessRequestMain (includeStagesBeforeAsyncPoint 부울, 부울 includeStagesAfterAsyncPoint) +7864
System.Web.UI.Page.ProcessRequest (includeStagesBeforeAsyncPoint 부울, 부울 includeStagesAfterAsyncPoint) +229
System.Web.UI.Page.ProcessRequest() + 12
System.Web.UI.Page.ProcessRequest(HttpContext context) + 80
System.Web.HttpServerUtility.ExecuteInternal (IHttpHandler 처리기, TextWriter 기록기, 부울 preserveForm, VirtualPath 경로, VirtualPath 파일 경로, 문자열 physPath, 예외 오류, 문자열 queryStringOverride) +1012

[HttpException (0x80004005): 오류 /WebSite3/e-mailTemplateTest.aspx 실행 중인 자식 요청 합니다.]
System.Web.HttpServerUtility.ExecuteInternal (IHttpHandler 처리기, TextWriter 기록기, 부울 preserveForm, VirtualPath 경로, VirtualPath 파일 경로, 문자열 physPath, 예외 오류, 문자열 queryStringOverride) +1525
(문자열 경로, TextWriter 기록기, 부울 preserveForm) System.Web.HttpServerUtility.Execute +754
(경로 문자열을 TextWriter 기록기, ErrorFormatterGenerator errorFormatterGenerator) System.Web.HttpServerUtility.ExecuteLocalRequestAndCaptureResponse +249
특성은 false 오류가 발생 하는 경우 다음과 같은 일반 오류 메시지를를 발생 합니다.
서버 오류 ' / WebSite3' 응용 프로그램.

이 이벤트 알림을 만드는 데 사용할 템플릿 페이지 실행 하는 동안 처리 되지 않은 예외가 발생 했습니다. 이 메시지에 포함 된 8 이벤트 삭제 되었습니다.

설명: 현재 구성이이 메시지에 포함 되지 예외 정보를 방지 합니다. 추가 된 "detailedTemplateErrors = true" 특성을 보고 되는 예외 정보를 사용 하 여 공급자 구성을 합니다.
참고: 버퍼링 관련 특성을 모든 플러시 알림이 발생합니다. 플러시 maxEventsPerMessage 허용 된 것 보다 훨씬 많은 이벤트가 있으면 알림 여러 전자 메일으로 나눌 것 이지만 모두 여전히 간주 됩니다 같은 알림. 예를 들어, 플러시 13 이벤트를 생성 하지만 maxEventsPerMessage 허용 5. 세 가지 전자 메일을 받게 됩니다: 처음 두 개의 전자 메일 각각 다섯 개의 이벤트를 포함 하 고 세 번째 전자 메일 세 개의 이벤트가 포함 됩니다.

MaxMessagesPerNotification 허용 된 것 보다 더 많은 전자 메일 인 경우 일부 이벤트가 삭제 됩니다. 예를 들어, maxMessagesPerNotification를 2로 설정 하면 위와 같은 maxEventsPerMessage 를 사용 하는 경우 두 개의 전자 메일 받을 수 있습니다. 하 고 세 번째 전자 메일 이벤트가 삭제 됩니다. 상승 또는 잘라내기 알림 모두는 간단한 메일 공급자에 대 한 전자 메일 중 하나에 표시 됩니다. 전자 메일의 맨 위에 다음이 표시 됩니다.
* * 경고 * *
---------------
메시지 당 알림 허용 되는 최대 수를 초과 했기 때문에이 알림 기간 동안 남은 10 이벤트가 취소 됩니다. (경고 ID: 101)
템플릿 기반 공급자에 대 한 전자 메일 형식에 대 한 제어를 가질 작은지에/잘라내기 직접 확인 하 고 전자 메일에 포함 된 것인지를 결정 해야 합니다.

참고: 메일 공급자 System.Net.Mail Web.config 파일에 구성 해야 하며 System.Net.Mail을 사용.

ASP.NET 설정 스키마에 대 한 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
healthMonitoring 요소 (ASP.NET 설정 스키마)
http://msdn2.microsoft.com/library/2fwh2ss9(en-us,vs.80).aspx
ASP.NET 2.0의 상태를 모니터링 하는 방법에 대 한 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
ASP.NET 2.0에서는 상태 모니터링을 사용 하는 방법
http://msdn2.microsoft.com/en-us/library/ms998306.aspx
언제나 처럼 언제 라도 보내주시기 바랍니다 원하는 주제에 대 한 아이디어 열을 나중에 해결 하거나 요청에 대 한 것 을 사용 하 여 기술 자료에서를 형성 합니다.
속성

문서 ID: 893664 - 마지막 검토: 2017. 2. 7. - 수정: 1

Microsoft ASP.NET 2.0

피드백