ID do 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
Informações de versão betaEste artigo aborda uma versão beta de um Microsoft produto. As informações neste artigo são fornecidas como - é e estão sujeitas a alterações sem aviso prévio.Nenhum suporte formal está disponível da Microsoft para este produto beta. Para obter informações sobre como obter suporte para uma versão beta, consulte a documentação que acompanha o Beta arquivos do produto ou verifique o local da Web onde você a versão foi baixada. Coluna de voz de suporte do ASP.NETpara personalizar esta coluna às suas necessidades, convidamos você a enviar suas idéias sobre tópicos que interessam a você e problemas que você deseja ver abordados artigos do Knowledge Base no futuro e colunas de voz de suporte. Você pode enviar suas idéias e comentários usando o formulário Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) . Há também um link para o formulário na parte inferior desta coluna.Nesta páginaIntroduçãoBem-vindo à coluna ASP.NET suporte voz! Meu nome é Jerry Andrade. Eu foram com a Microsoft por 5 anos e passaram a maior parte do meu tempo que se concentra na tecnologias relacionadas à Web, como o FrontPage e as novas tecnologias SharePoint. Passei o ano passado, trabalhar com ASP.NET como um engenheiro de suporte. Este mês na coluna suporte voz, vou descrever o novo recurso de eventos Web fornecido na próxima versão do ASP.NET 2.0. O recurso de eventos Web do ASP.NET 2.0Um dos principais serviços novos fornecidos no ASP.NET 2.0 é a Web eventos recurso fornecido pelo sistema de monitoramento de integridade. Modificando o arquivo Web.config, você pode usar a sistema de monitoramento de integridade para fazer exceções sem tratamento, formulários expirados, tíquetes de autenticação e quaisquer outros dados que você deseja registrados no seu aplicativo. Esta coluna obterá iniciado usando o recurso de eventos Web e também fornece exemplos de como usar vários provedores no ASP.NET 2.0.Log é realizado, definindo uma regra que associa a um provedor de eventos. A regra define o tipo de eventos que são enviadas para o provedor. Os seguintes eventos base estão disponíveis para você fazer logon: Recolher esta tabela
ASP.NET 2.0 usa o log de eventos provedor-de-pronta para registrar eventos com base em domínios de aplicativo iniciando e parando, bem como fazer todas as exceções sem tratamento. Isso ajuda a abordar alguns dos cenários básicos. Por exemplo, digamos que seu aplicativo lança uma exceção, mas o usuário não salvar o erro e não é possível reproduzi-lo. Com a regra de log de eventos padrão, você poderá coletar as informações de exceção e pilha para ter uma idéia melhor do que tipo de erro ocorreu. Ou, se seu aplicativo está perdendo estado da sessão, você pode procurar no log de eventos para determinar se o domínio do aplicativo é reciclagem e por que o domínio do aplicativo foi interrompido em primeiro lugar. Além disso, a sistema de monitoramento de integridade é extensível. Por exemplo, você pode definir eventos Web personalizados, acioná-los dentro de seu aplicativo e, em seguida, definir uma regra para enviar as informações de evento para um provedor, como seu email. Isso permite que você facilmente vincular seu instrumentação para o provedores de monitoramento de integridade. Como outro exemplo, você pode disparar um evento cada vez que um pedido é processado e configurar uma regra que envia a cada evento para o banco de dados do SQL Server. Você também foi disparado um evento quando um usuário tenta fazer logon várias vezes em uma linha e configurar o evento para usar os provedores com email. A configuração para os eventos e provedores padrão é armazenada no arquivo Web.config global. O arquivo Web.config global armazena todos os as baseado na Web configurações que estavam armazenadas no arquivo Machine.config no ASP.NET 1 x. O arquivo Web.config global está localizado no seguinte diretório: %windir%\Microsoft.Net\Framework\v2.0.*\config\Web.config A seção <healthmonitoring> do arquivo Web.config global fornece padrão definições de configuração. Você pode substituir essa configuração ou configurar suas próprias configurações Implementando a seção <healthmonitoring> no arquivo Web.config para seu aplicativo.A seção <healthmonitoring> do arquivo Web.config global contém os seguintes itens:
Exemplo de provedorEste exemplo de provedor contém os seguintes arquivos:
Como armazenar eventos em Visualizar eventosComo mencionei anteriormente, o provedor de eventos de log de eventos visualizar está configurado para você no arquivo Web.config global. Por padrão, todos os eventos com base em WebBaseErrorEvent e WebFailureAuditEvent são registrados. Você pode adicionar regras adicionais para registrar informações adicionais no log de eventos. Por exemplo, se você quiser registrar todos os eventos ( ou seja , todos os eventos com base em WebBaseEvent ), você pode adicionar a regra a seguir ao seu arquivo Web.config:Para ver o tipo de dados gerados, procure a página Default.aspx. Isso lançará uma exceção System.NullReferenceException , e o seguinte evento será registrado no evento visualizar: Tipo de evento: aviso Tipo de evento: Informações Como armazenar eventos para o SQL ServerEsse método usa o banco de dados ASPNETDB , que é gerado pela ferramenta Aspnet_regsql.exe. O provedor padrão usa a seqüência de conexão LocalSqlServer, que usa a instância SQLExpress local do SQL Server ou um banco de dados com base em arquivo na pasta App_Data. A seqüência de caracteres de conexão LocalSqlServer e o SqlProvider são configurados no arquivo Web.config global.LocalSqlServer seqüência de conexão no arquivo Web.config global tem esta aparência: Para configurar um banco de dados personalizado, execute estas etapas:
Como encaminhar eventos WMIVocê também pode encaminhar os eventos WMI. O provedor WMI é configurado para você no arquivo Web.config global por padrão.O exemplo de código a seguir adiciona uma regra para encaminhar os eventos para o WMI: Para usar SampleASPNET, execute estas etapas:
Recolher esta imagem ![]() Como encaminhar eventos de emailVocê também pode encaminhar eventos para email. Isso permitirá que você obter informações sobre seu aplicativo diretamente na caixa de entrada (provavelmente excedente). Cuidado sobre quais regras de evento você mapear para seu provedor de email, como você pode inadvertidamente enviar muita informação que podem ser mais adequadas para SQL Server ou o log de eventos.Há dois provedores de email, SimpleMailWebEventProvider e TemplatedMailWebEventProvider. Cada tem os atributos de configuração mesmo, com exceção dos atributos de "modelo" e "detailedTemplateErrors", que só estão disponíveis a TemplatedMailWebEventProvider. Observação Nenhum desses provedores de email está configurado para você. Será necessário adicioná-los a seu arquivo Web.config. A principal diferença entre esses provedores de duas email é que SimpleMailWebEventProvider envia emails em um modelo genérico 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: O aplicativo de exemplo usa o código a seguir para adicionar TemplatedMailWebEventProvider Web.config arquivo e especificar a página EmailTemplateTest.aspx como o modelo. (A página EmailTemplateTest.aspx percorre os eventos disponíveis no buffer e os exibe em uma tabela.) Se detailedTemplateErrors = "true", e quaisquer erros que ocorrem quando você executar o modelo serão enviados no corpo do email. Se detailedTemplateErrors = "false", um erro genérico é enviado. Um erro detalhadas lançado por EmailTemplateTest.aspx tem esta aparência: Erro do servidor em ' / WebSite3 ' aplicativo. Ocorreu uma exceção não tratada durante a execução da página de modelo usada para criar esta notificação de evento. Os eventos 1 que fazem parte desta mensagem foram descartados. Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da web. Examine o rastreamento da pilha para obter mais informações sobre o erro e onde foi originado no código. Detalhes da exceção: System.Web.HttpException: estado de sessão só pode ser usado quando enableSessionState estiver definido como verdadeiro, em um arquivo de configuração ou na diretiva Page. Também verifique se esse System.Web.SessionStateModule ou um módulo de estado de sessão personalizado está incluído na seção <configuration>\<system.web>\<httpmodules> na configuração do aplicativo. Arquivo de origem: c:\Documents and Settings\user\Desktop\WebEvents\WebSite3\WebSite3\e-mailTemplateTest.aspx.cs linha: 17 Rastreamento de pilha: [HttpException (0 x 80004005): estado de sessão só pode ser usado quando enableSessionState estiver definido como verdadeiro, em um arquivo de configuração ou na diretiva Page. Também verifique se esse System.Web.SessionStateModule ou um módulo de estado de sessão personalizado está incluído na seção <configuration>\<system.web>\<httpmodules> na configuração do aplicativo.] 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 Boolean, Boolean includeStagesAfterAsyncPoint) +3749 [HttpUnhandledException (0 x 80004005): exceção do tipo 'System.Web.HttpUnhandledException' foi lançada.] System.Web.UI.Page.HandleError (exceção e) +929 System.Web.UI.Page.ProcessRequestMain (includeStagesBeforeAsyncPoint Boolean, Boolean includeStagesAfterAsyncPoint) +7864 System.Web.UI.Page.ProcessRequest (includeStagesBeforeAsyncPoint Boolean, Boolean includeStagesAfterAsyncPoint) +229 System.Web.UI.Page.ProcessRequest() +12 System.Web.UI.Page.ProcessRequest (contexto de HttpContext) +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 execução filho solicitação 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 (String de caminho, TextWriter gravador, Boolean preserveForm) +754 System.Web.HttpServerUtility.ExecuteLocalRequestAndCaptureResponse(String Path, TextWriter Writer, ErrorFormatterGenerator errorFormatterGenerator) +249 Erro do servidor Em ' / WebSite3 ' aplicativo. Ocorreu uma exceção não tratada durante a execução da página de modelo usada para criar esta notificação de evento. Os 8 eventos que fazem parte desta mensagem foram descartados. Descrição: A configuração atual impede os detalhes da exceção sendo incluído nesta mensagem. Adicionar a "detailedTemplateErrors = true" atributo na configuração do provedor para ativar os detalhes da exceção sejam relatados. Se houver mais emails que permite maxMessagesPerNotification , alguns eventos são descartados. Por exemplo, se você definir maxMessagesPerNotification para dois e você usar o mesmo maxEventsPerMessage como acima, deve receber somente dois emails. Os eventos que seriam no terceiro email são ignorados. Qualquer quedas ou truncamento de notificações será ser observado em um dos emails para o provedor de simple mail. Parte superior do email será exibido o seguinte:Como você têm controle do formato do email para o modelo de provedor, você precisa verificar para posicionamentos/truncamento você mesmo e determinar se deseja que incluir no email. Observação Provedores de email usam System.NET.Mail, para que você precise configurar System.NET.Mail no seu arquivo Web.config. Para obter mais informações sobre o recurso de eventos Web no ASP.NET 2.0, você pode baixar os arquivos de exemplo de eventos da Web a seguir. Recolher esta imagem ![]() Para obter mais informações no esquema de configurações do ASP.NET, visite o seguinte site: healthMonitoring Element (ASP.NET Settings Schema) Para obter mais informações sobre monitoramento de integridade no ASP.NET 2.0, visite o seguinte site:http://msdn2.microsoft.com/library/2fwh2ss9(en-us,vs.80).aspx (http://msdn2.microsoft.com/library/2fwh2ss9(en-us,vs.80).aspx) Como usar o monitoramento de 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 enviar idéias sobre tópicos que você deseja abordada no futuro colunas ou na Base de dados de Conhecimento, usando a Ask For It
(http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=)
formulário.
Tradução automáticaIMPORTANTE: 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções deste artigo
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Voltar para o início

