Artigo: 893664 - Última revisão: quarta-feira, 14 de Março de 2007 - Revisão: 3.3

Eventos da Web no ASP.NET 2.0

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Informações sobre o Beta
Este artigo aborda uma versão beta de um Microsoft produto. As informações contidas neste artigo são fornecidas como está e estão sujeitas a alterações sem aviso prévio.

Não fornece suporte técnico formal está disponível a partir da Microsoft para este produto beta. Para obter informações sobre como obter suporte para uma versão beta, consulte a documentação incluída com o Beta ficheiros do produto ou verificação da Web local onde transferiu o.
Coluna de voz de suporte do ASP.NET
para personalizar esta coluna às suas necessidades, Convidamo-lo a submeter as suas ideias sobre tópicos que lhe interessam e problemas que pretende ver corrigido em futuras artigos de base de dados de conhecimento da e colunas de voz de suporte. Pode submeter as ideias e comentários utilizando o formulário Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) . Também há uma hiperligação para o formulário na parte inferior desta coluna.

Nesta página

Expandir tudo | Reduzir tudo

Introdução

Bem-vindo à coluna voz de suporte ASP.NET! Meu nome estiver Jerry Orman. Foram com a Microsoft 5 anos e ter gasto a maior parte do meu tempo relacionada com a Web tecnologias como o FrontPage e novas tecnologias do SharePoint. Ter gasto o ano passado a trabalhar com o ASP.NET como um engenheiro de suporte.

Este mês na coluna voz de suporte, a vai descrever a nova funcionalidade Web eventos fornecida a futura edição do ASP.NET 2.0.

A funcionalidade de eventos da Web do ASP.NET 2.0

Uma das principais serviços novos fornecidos no ASP.NET 2.0 é Web eventos funcionalidade fornecida por saúde monitorização do sistema. Modificando o ficheiro Web.config, pode utilizar a integridade de monitorização do sistema para registar excepções não processadas, formulários expirados, permissões de autenticação e quaisquer outros dados que pretende registados na sua aplicação. Esta coluna irá ajudá-lo iniciado utilizando a funcionalidade de eventos da Web e também fornece exemplos de como utilizar os vários fornecedores no ASP.NET 2.0.

Registo é conseguido definindo uma regra que associa um fornecedor de eventos. A regra define o tipo de eventos que são enviadas para o fornecedor. Os seguintes eventos base estão disponíveis para início de sessão:
Reduzir esta tabelaExpandir esta tabela
WebBaseEvent A classe de evento base para todos os eventos. Contém necessários sequência de propriedades para todos os eventos como o código do evento, código de detalhe do evento, a data e hora o evento foi aumentado, número, a mensagem de evento e detalhes do evento.
WebManagementEvent A classe de evento base para eventos de gestão, tais como duração da aplicação, pedido, erro e eventos de auditoria.
WebHeartbeatEvent O evento gerado pela aplicação em intervalos regulares para capturar informações de estado de runtime útil.
WebAuditEvent A classe base para eventos de auditoria de segurança, que são utilizados para marcar condições, tais como falha de autorização, falha na desencriptação, etc.
WebRequestEvent A classe base para todos os eventos informativos pedido.
WebBaseErrorEvent A classe base para todos os eventos que indica as condições de erro.
Os tipos de fornecedores disponíveis permitem-lhe enviar saída de eventos para o Visualizador de eventos, SQL Server, Windows Management Instrumentation (WMI) e correio electrónico. Evento mapeamentos de fornecedores de pré-configurados e reduzir a quantidade de trabalho necessário para obter a saída de eventos registada.

ASP.NET 2.0 utiliza o registo de eventos do fornecedor de-a-imediata para registar eventos com base em domínios de aplicação iniciar e parar, bem como quaisquer excepções não processadas de registo. Isto ajuda a abordar alguns dos cenários básicos. Por exemplo, suponha que a aplicação lança uma excepção, mas o utilizador não guarda o erro e não é possível reproduzir. Com a regra de registo de eventos predefinido, conseguiria recolher as informações de excepção e pilha para ter uma ideia melhor do que tipo de erro ocorreu. Ou, se a aplicação é perder o estado da sessão, pode procurar no registo de eventos para determinar se o domínio de aplicação é a Reciclagem e por que razão o domínio de aplicação parado primeiro.

Além disso, a integridade de monitorização do sistema é extensível. Por exemplo, pode definir eventos personalizados da Web, irá ser desencadeado na aplicação e, em seguida, definir uma regra para enviar as informações de evento para um fornecedor, tais como o correio electrónico. Isto permite-lhe ligar facilmente o equipamento para o correcto funcionamento monitorização fornecedores. Outro exemplo conseguiu lançar um evento sempre que uma encomenda é processada e configurar uma regra que envia cada evento para a base de dados do SQL Server. Também pode lançar um evento quando um utilizador não consegue iniciar sessão várias vezes numa linha e configurar o evento para utilizar fornecedores electrónico correio baseado em.

A configuração para a predefinição fornecedores e eventos é armazenada no ficheiro Web.config global. O ficheiro Web.config global armazena todas as as baseada na Web definições que foram armazenadas no ficheiro Machine.config no ASP.NET 1 x. O ficheiro Web.config global está localizado no seguinte directório:
%windir%\Microsoft.Net\Framework\v2.0.*\config\Web.config
A secção <healthmonitoring> do ficheiro Web.config global fornece predefinição as definições de configuração. Pode substituir estas definições ou configurar as suas próprias definições implementando a secção <healthmonitoring> no ficheiro Web.config da aplicação.

A secção <healthmonitoring> o ficheiro Web.config global contém os seguintes itens:
  • fornecedores Contém fornecedores definido para o Visualizador de eventos WMI e SQL Server.
  • eventMappings Contém mapeamentos de várias classes de WebBase. Pode expandir esta lista se gerar sua classe de evento. Gerar sua classe de evento fornece maior granularidade sobre os fornecedores de que enviar informações para. Por exemplo, poderia configurar excepções não processadas seja enviado para SQL Server, ao enviar os seus próprios eventos personalizados para enviar por correio electrónico.
  • regras Liga o eventMappings ao fornecedor.
  • memória intermédia Utilizada com fornecedores de correio electrónico e do SQL Server para determinar como frequentemente limpar os eventos para o fornecedor.
Abaixo é um exemplo de código do ficheiro Web.config global.
<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>

Exemplo de fornecedor

Este exemplo de fornecedor contém os seguintes ficheiros:
  • ficheiro ViewEvents.aspx a ? activa o evento personalizado web MyEvent clique do botão Page_Load e eventos de registo de eventos. Tem uma GridView que utiliza a ligação de base de dados no ficheiro Web.config para lista os eventos registados para o SQL Server.

    Deve configurar o connectionString no ficheiro Web.config para apontar para a base de dados ASPNETDB .
  • ficheiro Web.config a ? com os vários fornecedores e regras configuradas e comentado fora. Uncomment a regra que pretende testar e procurar as páginas default.aspx e ViewEvent.aspx para ver o aspecto de saída.
  • ficheiro MyEvent.cs a ? localizado na pasta App_Data. Isto é utilizado na página ViewEvents.aspx para lançar um evento personalizado.
  • ficheiro default.aspx a ? lança um System.NullReferenceException para ver o que inicia uma excepção não processada.
  • EmailTemplateTest.aspx o ficheiro ? utilizado para a amostragem TemplateemailProvider. O ficheiro de código para o ficheiro EmailTemplateTest.aspx tem linhas de código pode uncomment, que fará com que a página para accionar uma excepção.

Como armazenar eventos Visualizador de eventos

É mencionado anteriormente, o fornecedor de eventos de registo de eventos Viewer é configurado no ficheiro Web.config global. Por predefinição, todos os eventos com base no WebBaseErrorEvent e WebFailureAuditEvent são registados. Pode adicionar regras adicionais para registar informações adicionais no registo de eventos. Por exemplo, se pretender registar todos os eventos ( ou seja , cada evento baseia WebBaseEvent ), é possível adicionar a seguinte regra para o ficheiro Web.config:
<healthMonitoring>
	<rules>
		<add name="All Events" eventName="All Events" provider="EventLogProvider" profile="Critical"  />
	</rules>
</healthMonitoring>
esta regra deve ligar o mapa de eventos de Todos os eventos ao fornecedor de registo de eventos. EventMapping e o fornecedor estão incluídos no ficheiro Web.config global. Em seguida, é possível utilizar a página ViewEvents.aspx para accionar os eventos gerados procurando a página. A página também irá lançar o evento personalizado MyEvent no evento Page_Load e um clique do botão .

Para ver o tipo de dados gerados, procure a página default.aspx. Isto irá accionar uma excepção System.NullReferenceException e vai ser o seguinte evento de eventos registados Visualizador:

Tipo de evento: aviso
Origem do evento: ASP.NET 2.0.50601.0
Categoria do evento: Eventos da Web
ID do evento: 1311
Data: 8/16/2005
Hora: 9:37:44 PM
Utilizador: N/d
Computador: Computer name
Descrição:
Código do evento: 3005
Mensagem de evento: Ocorreu uma excepção não processada.
Hora do evento: 16/08/2005 9:37:44 PM
Hora do evento (UTC): 17/08/2005 2:37:44 AM
ID do evento: 88838b4e73cf4a0d9a36ac737ff9d1a0
Sequência de eventos: 39
Ocorrência do evento: 1
Código do detalhe do evento: 0
Informações da aplicação: domínio de aplicação: d047d537-2-127687190240098660
Nível de fidedignidade: total
Caminho da aplicação virtual: /WebSite3
Caminho da aplicação: Physical path
Nome do computador: Computer name
Processar informações: ID do processo: 3776
Nome do processo: WebDev.WebServer.EXE
Nome da conta: DOMAIN\user
Informações da excepção: tipo de excepção: NullReferenceException
Mensagem da excepção: Object reference not set to an instance of um objecto.
Pedir informações: pedido de URL: http://localhost:1698/WebSite3/Default.aspx
Pedir caminho: /WebSite3/Default.aspx
Endereço de anfitrião do utilizador: 127.0.0.1
Utilizador: domínio\utilizador
Está autenticado: TRUE
Tipo de autenticação: NTLM
Conta do thread nome: domínio\utilizador
Informações do thread:
ID do tópico: 8
Conta do thread nome: domínio\utilizador
Está representado: FALSE

Rastreio da pilha: no _Default.Page_Load (objecto remetente, and EventArgs) in c:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.cs:line 15
em System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
em System.Web.Util.CalliEventHandlerDelegateProxy.Callback (objecto remetente, EventArgs electrónico)
em System.Web.UI.Control.OnLoad (EventArgs e) em System.Web.UI.Control.LoadRecursive()
em System.Web.UI.Page.ProcessRequestMain (includeStagesBeforeAsyncPoint boleano, includeStagesAfterAsyncPoint booleano)

Detalhes do evento personalizado: para obter mais informações, consulte Centro de ajuda e suporte em http://support.microsoft.com.

Registar todos os eventos no registo de eventos gera bem eventos informativos. O evento seguinte mostra o URL autorização ter êxito para o pedido de página:

Tipo de evento: Information
Origem do evento: ASP.NET 2.0.50601.0
Categoria do evento: Web eventos
ID do evento: 1314
Data: 8/16/2005
Hora: 11: 04: 44 PM
Utilizador: N/d
Computador: Computer name
Descrição:
Código do evento: 4003
Mensagem de evento: URL êxito da autorização para o pedido.
Hora do evento: 16/08/2005 11: 04: 44 PM
Hora do evento (UTC): 17/08/2005 4: 04: 44 AM
ID do evento: fec3d73fba0247eaba425e5ccfada18e
Sequência de eventos: 2
Ocorrência do evento: 1
Código do detalhe do evento: 0
Informações da aplicação:
Domínio de aplicação: d047d537-1-127687250829701433
Nível de fidedignidade: total
Caminho da aplicação virtual: /WebSite3
Caminho da aplicação: C:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\
Nome do computador: Computer name
Informações do processo:
ID do processo: 2292
Nome do processo: WebDev.WebServer.EXE
Nome da conta: DOMAIN\user
Informações do pedido:
Pedir URL: http://localhost:2087/WebSite3/Default.aspx
Pedir caminho: /WebSite3/Default.aspx
Endereço de anfitrião do utilizador: 127.0.0.1
Utilizador: domínio\utilizador
Está autenticado: TRUE
Tipo de autenticação: NTLM
Conta do thread nome: domínio\utilizador

Detalhes do evento personalizado:
Para mais informações, consulte o Centro de ajuda e suporte em http://support.microsoft.com.

Como armazenar eventos para o SQL Server

Este método utiliza a base de dados ASPNETDB , que é gerado pela ferramenta Aspnet_regsql.exe. O fornecedor predefinido utiliza a cadeia de ligação LocalSqlServer, que utiliza uma base de dados baseado em ficheiros na pasta App_data ou SQLExpress instância local do SQL Server. Tanto a cadeia de ligação LocalSqlServer o SqlProvider configurados no ficheiro Web.config global.

LocalSqlServer cadeia de ligação no ficheiro Web.config global tem este aspecto:
<connectionStrings>
	<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>
se pretender utilizar outro servidor de SQL Server, terá de utilizar a ferramenta Aspnet_regsql.exe, que pode ser localizada na pasta %windir%\Microsoft.Net\Framework\v2.0.*\Aspnet_regsql.exe. Utilizar a ferramenta Aspnet_regsql.exe para gerar uma base de dados ASPNETDB personalizado no SQL server, adicionar a cadeia de ligação ao ficheiro .config aplicações e, em seguida, adicionar um fornecedor utilizando a nova cadeia de ligação. Quando tiver a base de dados ASPNETDB criada, terá de definir uma regra para ligar um eventMapping o sqlProvider.

Para configurar uma base de dados personalizado, siga estes passos:
  1. Gere uma base de dados ASPNETDB .
    1. Execute aspnet_regsql.exe ?W e percorra o assistente.
    2. Execute o comando para automatizar o processo: Aspnet_regsql ?A ?S w SQL Server - e
  2. Adicionar uma cadeia de ligação que aponta para a base de dados, para que o seguinte aspecto:
    <connectionStrings>
    	<add name="MYASPNETDB" connectionString="Server=<SQL Instance>;Integrated Security=SSPI;Database=aspnetdb"/>
    </connectionStrings>
  3. Adicionar um fornecedor para utilizar a cadeia de ligação MYASPNETDB, para que o seguinte aspecto:
    <healthMonitoring>
    	<providers>
    		<add name="MySqlWebEventProvider" type="System.Web.Management.SqlWebEventProvider" connectionStringName="MYASPNETDB" maxEventDetailsLength="1073741823" buffer="false"/>
    	</providers>
    </healthMonitoring>
Se utilizar a predefinição SqlProvider ou configurar o seu fornecedor, terá de adicionar uma regra de ligar o fornecedor com um mapa de evento. A seguinte regra liga o novo fornecedor criado anteriormente ao mapa de eventos de Todos os eventos . Esta regra irá iniciar todos os eventos com base no WebBaseEvent e enviá-las para MySqlWebEventProvider que irá utilizar a cadeia de ligação MYASPNETDB. O seguinte código adiciona uma regra para ligar o fornecedor com um mapa de evento:
<healthMonitoring>
	<rules>
		<add name="All Events" eventName="All Events" provider="MySqlWebEventProvider" profile="Critical"/>
	</rules>
</healthMonitoring>
se pretender apenas enviar erros do SQL Server, é possível adicionar a seguinte regra:
<add name="All Errors" eventName="All Errors" provider="MySqlWebEventProvider" profile="Critical"/>

Como reencaminhar eventos WMI

Também pode reencaminhar os eventos WMI. O fornecedor WMI é configurado no ficheiro Web.config global por predefinição.

O exemplo de código seguinte adiciona uma regra para reencaminhar os eventos WMI:
<providers>
	<add name="WmiWebEventProvider" type="System.Web.Management.WmiWebEventProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
terá de adicionar uma regra para associar um eventMapping para o fornecedor e também uma aplicação de escuta WMI para escutar para os eventos. O exemplo de código seguinte adiciona uma regra para ligar o fornecedor WMI para o mapa de eventos de Todos os eventos :
<rules>
	<add name="All Events" eventName="All Events" provider="WmiWebEventProvider" profile="Critical"  />
</rules>
a aplicação de consola exemplo SampleASPNET usa o objeto ManagementEventWatcher para monitorizar eventos e apresentá-las na janela da consola.
Para utilizar SampleASPNET, siga estes passos:
  1. Inicie SampleASPNET.exe.
  2. Procuras na página ViewEvents.aspx; quando o fizer, poderá ver eventos listados na aplicação de consola.
  3. Clique em registo de eventos Button_Click . Regista novamente a página e verá os eventos adicionais também registados.
Reduzir esta imagemExpandir esta imagem
Nota Se estiver a monitorizar eventos num computador remoto, a aplicação escuta tem de ser em execução nesse computador como uma conta com acesso de administrador.

Como reencaminhar os eventos de correio electrónico

Também pode reencaminhar eventos de correio electrónico. Isto iria permitir-lhe obter informações sobre a aplicação directamente na pasta a receber (provavelmente overflowing). Tenha cuidado que as regras de evento mapear para o fornecedor de correio electrónico, como pode inadvertidamente enviar manualmente uma muitas informações que podem ser mais adequadas para SQL Server ou o registo de eventos.

Existem dois fornecedores de correio electrónico, SimpleMailWebEventProvider e TemplatedMailWebEventProvider. Cada tem os atributos de configuração do mesmo, à excepção dos atributos "livro" e "detailedTemplateErrors", que só estão disponíveis no TemplatedMailWebEventProvider.

Nota Nenhum destes fornecedores de correio electrónico está configurado. É necessário para os adicionar ao ficheiro Web.config.

A principal diferença entre estes fornecedores de correio duas electrónico é SimpleMailWebEventProvider envia mensagens de correio electrónico de um modelo genérico que não pode ser modificado. The sample Web.config file adds this e-mail provider to the list of configured providers by using the following rule:
<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"/>
a seguinte regra também é adicionada ao associar o fornecedor de correio electrónico para o mapa de eventos de Todos os eventos :
<add name="All Events" eventName="All Events" provider="mySimple-mailWebEventProvider" profile="Critical"/>
a mensagem de alerta de correio electrónico é semelhante à seguinte:
Assunto: Notificação de eventos 12, parte 1: Web EventsMicrosoft.Samples.WebEvents.MyEvent eventos recebidos /WebSite3

Informações de aplicação ** **
---------------
Domínio de aplicação: d047d537-9-127687218865923053 nível de fidedignidade: caminho virtual aplicação completo: WebSite3 aplicação caminho: C:\Documents e Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ computador nome: < nome_computador >

** Eventos **
---------------
Evento código: 100010
Mensagem de evento: Button1_Click
Hora do evento: 16/08/2005 10: 12: 52 PM
Hora do evento (UTC): 17/08/2005 3: 12: 52
ID do evento: sequência de eventos 6e5cd252d6114a9e98687598dc6b5d50: 12 ocorrência de eventos: eventos 5 detalhe código: 0

Personalizar detalhes do evento:

---------------
Segue-se uma mensagem de alerta de correio electrónico que mostra uma excepção não processada:
Assunto: Notificação de eventos 7, parte 1: Web EventsSystem.Web.Management.WebRequestErrorEvent eventos recebidos /WebSite3

Informações de aplicação ** **
---------------
Domínio de aplicação: d047d537-5-127687293149504903 nível de fidedignidade: caminho virtual aplicação completo: WebSite3 aplicação caminho: C:\Documents e Settings\user\Desktop\WebEvents\WebSite3\WebSite3\ computador nome: < nome_computador >

** Eventos **
---------------
Evento código: 3005
Mensagem de evento: Ocorreu uma excepção não processada.
Evento tempo: 17/08/2005 12: 17: 37 AM
Hora do evento (UTC): 17/08/2005 5: 17: 37 AM
Sequência de eventos do ID do evento: 14b7f24102e140bbbae302d80e5a5f36: 7 eventos ocorrência: código de detalhe de 1 evento: 0

Informações do processo:
ID do processo: 2292
Nome do processo: WebDev.WebServer.EXE
Nome da conta: domínio\utilizador

Informações de excepção:
Tipo de excepção: System.NullReferenceException
Mensagem da excepção: Object reference not set to an instance of um objecto.

Informações do pedido:
Pedir URL: http://localhost:2087/WebSite3/Default.aspx
Pedir caminho: /WebSite3/Default.aspx
Endereço de anfitrião do utilizador: 127.0.0.1
Utilizador: domínio\utilizador
Está autenticado: TRUE
Tipo de autenticação: NTLM
Conta do thread nome: domínio\utilizador

Informações do thread:
ID do tópico: 7
Nome da conta do thread: domínio\utilizador
Está representado: FALSE
Rastreio da pilha: no _Default.Page_Load (objecto remetente, and EventArgs) in c:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\Default.aspx.cs:line 15
em System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
em System.Web.Util.CalliEventHandlerDelegateProxy.Callback (objecto remetente, EventArgs electrónico)
em System.Web.UI.Control.OnLoad (EventArgs e) em System.Web.UI.Control.LoadRecursive()
em System.WebUI.Page.ProcessRequestMain (includeStagesBeforeAsyncPoint boleano, includeStagesAfterAsyncPoint booleano)
TemplatedMailWebEventProvider permite-lhe especificar uma página ASPX como um modelo--é estimado--. A saída de página ASPX é utilizada no corpo do correio electrónico, permitindo-lhe personalizar o aspecto dos dados que recebe.

A aplicação de exemplo utiliza o código seguinte para adicionar TemplatedMailWebEventProvider a Web.config ficheiro e especificar a página EmailTemplateTest.aspx como o modelo. (Página EmailTemplateTest.aspx os eventos disponíveis na memória intermédia e apresenta-os numa tabela.)
<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" />
a mensagem de alerta de correio electrónico é semelhante à seguinte:
Assunto: Notificação de eventos 3, parte 1: 10 eventos recebidos em /WebSite3

Ocorrência origem de hora código detalhe código mensagem
4 System.Web.Security.UrlAuthorizationModule 17/08/2005 12:40:45 AM 4003 0 URL êxito da autorização para o pedido.
4 8/17/2005 12:40:45 AM 4004 0 êxito da autorização de ficheiros para o pedido.
7 ASP.ViewEvents_aspx 17/08/2005 12:40:45 AM 100010 0 carregar webevent exemplo página
8 ASP.ViewEvents_aspx 17/08/2005 12:40:45 AM 100010 0 Button1_Click
5 SystemWeb.Security.UrlAuthorizationModule 17/08/2005 12:40:45 AM 4003 0 URL êxito da autorização para o pedido.
8 5/17/2005 12:40:45 AM 4004 0 êxito da autorização de ficheiros para o pedido.
9 ASP.ViewEvents_aspx 17/08/2005 12:40:45 AM 100010 0 carregar webevent exemplo página
10 ASP.ViewEvents_aspx 17/08/2005 12:40:45 AM 100010 0 Button1_Click
6 System.Web.Security.UrlAuthorizationModule 17/08/2005 12:40:46 AM 4003 0 URL êxito da autorização para o pedido.
6 8/17/2005 12:40:46 AM 4004 0 êxito da autorização de ficheiros para o pedido.
Em ambos os casos, se o atributo de memória intermédia é false, a mensagem de correio electrónico conterá apenas um evento. Com memória intermédia definido como true, também tem de especificar um bufferMode, que indica a frequência de limpar a memória intermédia. Existem alguns bufferModes predefinida no ficheiro Web.config global.

Se detailedTemplateErrors = "true", então serão enviados erros que ocorrem quando executa o modelo no corpo da mensagem de correio electrónico. Se detailedTemplateErrors = "false", é enviado um erro genérico.

Um erro detalhado accionado por EmailTemplateTest.aspx tem este aspecto:
Erro de servidor de ' / WebSite3 ' aplicações.

Ocorreu uma excepção não processada durante a execução da página modelo utilizada para criar esta notificação de eventos. Os eventos 1 que faziam parte desta mensagem foram eliminados.

Descrição: Ocorreu uma excepção não processada durante a execução da solicitação da web actual. Reveja o rastreio da pilha para mais informações sobre o erro e onde tem origem no código.

Detalhes da excepção: System.Web.HttpException: o estado da sessão só pode ser utilizado quando enableSessionState está definido para true, num ficheiro de configuração ou na directiva Page. Consulte também Certifique-se de que System.Web.SessionStateModule ou um módulo de estado de sessão personalizados é incluído na secção <configuration>\<system.web>\<httpmodules> a configuração da aplicação.

Ficheiro de origem: c:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs linha: 17

Rastreio da pilha: [HttpException (0 x 80004005): o estado da sessão só pode ser utilizado quando enableSessionState está definido para true, num ficheiro de configuração ou na directiva Page. Consulte também Certifique-se de que System.Web.SessionStateModule ou um módulo de estado de sessão personalizados é incluído na secção <configuration>\<system.web>\<httpmodules> a configuração da aplicação.]
System.Web.UI.Page.get_Session() +146
e-mailTemplateTest.Page_Load(Object sender, EventArgs e) in c:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs:17
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr FP, Object o, Object t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object Sender, EventArgs e) +45
System.Web.UI.Control.OnLoad (EventArgs e) +80
SystemWeb.UI.Control.LoadRecursive() +49
System.Web.UI.Page.ProcessRequestMain (includeStagesBeforeAsyncPoint boleano, boleano includeStagesAfterAsyncPoint) +3749

[HttpUnhandledException (0 x 80004005): excepção do tipo 'System.Web.HttpUnhandledException' foi accionada.]
System.Web.UI.Page.HandleError (excepção electrónico) +929
System.Web.UI.Page.ProcessRequestMain (includeStagesBeforeAsyncPoint boleano, boleano includeStagesAfterAsyncPoint) +7864
System.Web.UI.Page.ProcessRequest (includeStagesBeforeAsyncPoint boleano, boleano includeStagesAfterAsyncPoint) +229
System.Web.UI.Page.ProcessRequest() +12
System.Web.UI.Page.ProcessRequest (HttpContext contexto) +80
System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter Writer, Boolean preserveForm, VirtualPath Path, VirtualPath filePath, String physPath, Exception Error, String queryStringOverride) +1012

[HttpException (0 x 80004005): erro pedido de criança executar para /WebSite3/e-mailTemplateTest.aspx.]
System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter Writer, Boolean preserveForm, VirtualPath Path, VirtualPath filePath, String physPath, Exception Error, String queryStringOverride) +1525
System.Web.HttpServerUtility.Execute (cadeia de caminho, TextWriter escritor, boleano preserveForm) +754
System.Web.HttpServerUtility.ExecuteLocalRequestAndCaptureResponse(String Path, TextWriter Writer, ErrorFormatterGenerator errorFormatterGenerator) +249
Se o atributo é FALSO e existe um erro, obterá apenas uma mensagem de erro genérico, que tem este aspecto:
Erro de servidor De ' / WebSite3 ' aplicações.

Ocorreu uma excepção não processada durante a execução da página modelo utilizada para criar esta notificação de eventos. Os 8 eventos que faziam parte desta mensagem foram eliminados.

Descrição: A configuração actual que impede que os detalhes de excepção sejam incluídos nesta mensagem. Adicionar o "detailedTemplateErrors = true" atributo à configuração do fornecedor para activar detalhes de excepção para ser comunicado.
Nota Para os atributos relacionados com a memória intermédia, cada esvaziar resulta numa notificação. Se a limpeza contém mais eventos que maxEventsPerMessage permite, a notificação irá ser dividida em várias mensagens, mas continuam a ser todos considerados seja a notificação do mesma. Por exemplo, uma limpeza gera 13 eventos, mas maxEventsPerMessage só permite cinco. Obterá três mensagens de correio electrónico: os dois primeiros e-mails cada incluirá cinco eventos, e a terceira mensagem irá conter três eventos.

Se existirem mais mensagens que permite maxMessagesPerNotification , alguns eventos são ignorados. Por exemplo, se definiu maxMessagesPerNotification para dois e utilizar o mesmo maxEventsPerMessage acima indicado, teria apenas receberá duas mensagens de correio electrónico. Os eventos que seriam na terceira mensagem são ignorados. As quedas ou truncagem de notificações é registada das mensagens de correio electrónico para o fornecedor de correio simples. Parte superior da mensagem de correio electrónico mostrará o seguinte:
** Avisos **
---------------
Os 10 eventos restante para este período de notificação serão eliminados porque o número máximo de mensagens permitidas por notificação foi excedido. (ID do aviso: 101)
Uma vez ter controlo sobre o formato de correio electrónico para o fornecedor de transformada em modelo, terá de verificar existência de quedas/truncamento e determinar se deve incluir que a mensagem de correio electrónico.

Nota Fornecedores de correio electrónico utilizam System.Net.Mail, por isso, tem de configurar System.Net.Mail no ficheiro Web.config.
Para mais informações sobre a funcionalidade de eventos da Web do ASP.NET 2.0, pode transferir os ficheiros Web eventos de exemplo seguintes.
Reduzir esta imagemExpandir esta imagem
Download
Download the Web Events Sample.exe package now. (http://download.microsoft.com/download/a/1/e/a1ea5122-a6c4-4331-bad8-8556f256004c/web events sample.exe)
Para obter mais informações sobre o esquema de definições do ASP.NET, visite o seguinte Web site da Microsoft:
healthMonitoring elemento (esquema de definições do ASP.NET)
http://msdn2.microsoft.com/library/2fwh2ss9(en-us,vs.80).aspx (http://msdn2.microsoft.com/library/2fwh2ss9(en-us,vs.80).aspx)
Para obter mais informações sobre monitorização da integridade no ASP.NET 2.0, visite o seguinte Web site da Microsoft:
Como utilizar a monitorização da integridade no ASP.NET 2.0
http://msdn2.microsoft.com/en-us/library/ms998306.aspx (http://msdn2.microsoft.com/en-us/library/ms998306.aspx)
como sempre, vontade submeter ideias sobre tópicos que pretende corrigida no futuro colunas ou na Base de dados de conhecimento da utilizando a Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) formulário.

A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 2.0
Palavras-chave: 
kbmt kbhowto kbasp KB893664 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 893664  (http://support.microsoft.com/kb/893664/en-us/ )
Retired KB ArticleExclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.