desenvolvimento de software para internet · pdf filedesenvolvimento de software para internet...

43
DESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 terça-feira, 22 de outubro de 13

Upload: vuongkien

Post on 30-Jan-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET

1

terça-feira, 22 de outubro de 13

Page 2: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

USO DE TRACE E DEBUG EM APLICAÇÕES ASP.NET

2

terça-feira, 22 de outubro de 13

Page 3: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

Desenvolver aplicações Web com qualidade requer um completo teste de toda a aplicação e uma habilidade de visualizar onde e como poderá acontecer um erro.

O objetivo principal do “Testing” e “Debugging” da sua aplicação é garantir que os usuários finais nunca encontrarão nenhum erro.

MAS QUE TIPOS DE ERROS?!?!

terça-feira, 22 de outubro de 13

Page 4: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

Como parar Cristiano Ronaldo

terça-feira, 22 de outubro de 13

Page 5: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

Preciso ir! Meu planeta precisa de mim!

terça-feira, 22 de outubro de 13

Page 6: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

Bond, James BOAGSDYSJHGSAJYSGSASAS

terça-feira, 22 de outubro de 13

Page 7: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

Vale ISSO?

terça-feira, 22 de outubro de 13

Page 8: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

QWOPSSS

terça-feira, 22 de outubro de 13

Page 9: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

Like a BOSS

terça-feira, 22 de outubro de 13

Page 10: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

Como virar Sniper com um Tanque de guerra

terça-feira, 22 de outubro de 13

Page 11: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

No Carro da Mulher Maravilha

terça-feira, 22 de outubro de 13

Page 12: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

PÔ JUIZ! ISSO NÃO FOI FALTA?

terça-feira, 22 de outubro de 13

Page 13: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

Apenas mais um dia normal para um policial

terça-feira, 22 de outubro de 13

Page 14: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

MEU DEUS! Eu não acredito que ele fez esse gol!!!!

terça-feira, 22 de outubro de 13

Page 15: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

O parque mais seguro do mundo

terça-feira, 22 de outubro de 13

Page 16: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

Me beije para que eu possa me teleportar

terça-feira, 22 de outubro de 13

Page 17: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

Mas colocar isso em prática não é uma tarefa muito fácil, exige um bom plano de testes.

terça-feira, 22 de outubro de 13

Page 18: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

TRACINGTracing é um processo de coleta de informações da aplicação em execução. Existem dois métodos principais de tracing:•System.Web.TraceContext•System.Diagnostics.Trace e System.Diagnostics.Debug

terça-feira, 22 de outubro de 13

Page 19: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

System.Web.TraceContext

Esta classe permite coletar e ver informações da execução da página e mensagens de “trace” na própria página em execução ou visualizar no “trace viewer”, ou seja, em um arquivo chamado “trace.axd” residente na memória.

terça-feira, 22 de outubro de 13

Page 20: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACE E DEBUG

System.Diagnostics.Trace e System.Diagnostics.Debug

As mensagens eviadas por esta classe, por padrão são exibidas na janela “Output” do Visual Studio .NET, mas podemos usar a classe TraceListerner para enviar essas mensagens para outros tipos de saída como arquivos textos, no EventLog do Windows.

terça-feira, 22 de outubro de 13

Page 21: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

Este classe é responsável por exibir todas as informações obtidas com o Trace da execução da página. Ela é acessada através do objeto Trace da página. Podemos habilitar o Trace em nível de página na diretiva Page, como veremos a seguir e também através do arquivo Web.Config (nível de aplicação).

terça-feira, 22 de outubro de 13

Page 22: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

Principais métodos utilizados desta classe:

Método Descrição

IsEnable Informa Se o Trace está habilitado

TraceMode Exibe em qual ordem as mensagens serão exibidas, podendo ser : Padrão, SortByCategory e SortByTime.

Warn Exibe suas mensagens personalizadas em vermelho.

Write Exibe sua mensagens (Contém as mesmas propriedades do método Warn, porém não é escrito em vermelho).

terça-feira, 22 de outubro de 13

Page 23: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

Por padrão, o Trace não vem habilitado na sua página. Para exibir as informações de Trace no rodapé de sua página adicione Trace = “True” na diretiva Page de sua página. Lembrando que a utilização na diretiva da página sobrescreve as configurações do Trace no arquivo Web.Config.

terça-feira, 22 de outubro de 13

Page 24: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

terça-feira, 22 de outubro de 13

Page 25: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

terça-feira, 22 de outubro de 13

Page 26: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

terça-feira, 22 de outubro de 13

Page 27: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

terça-feira, 22 de outubro de 13

Page 28: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

Como falado anteriormente, você pode definir as configurações do seu Trace no nível de aplicação, através do Web.Config.

No Web.Config, através do elemento <trace>, é possível habilitar a saída tanto na página quanto em um arquivo separado chamado trace.axd que pode ser acessado na raiz da aplicação, lembrando que esse arquivo não existe fisicamente, apenas na memória.

terça-feira, 22 de outubro de 13

Page 29: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

A seguir os atributos da tag <trace>:

Método Descrição

enabledIndica se o Trace será habilitado na aplicação.Se “True”, as informações do Trace podem ser vistas no “trace viewer”, ou seja, no arquivo trace.axd.

localOnly Indica se o “trace viewer” poderá ser visualizado apenas no cliente local ou por qualquer cliente.

pageOutput Indica se as informações do Trace serão exibidas nas páginas.

requestLimit Informa a quantidade de requisições a serem armazenadas no Trace.

traceMode Informa a ordem das mensagens a serem exibidas no Trace.

terça-feira, 22 de outubro de 13

Page 30: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

terça-feira, 22 de outubro de 13

Page 31: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

terça-feira, 22 de outubro de 13

Page 32: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

TRACECONTEXT

Para acessar o arquivo em memória, é necessário digitar no browser, na mesma pasta da aplicação, o nome do arquivo trace.axd.

terça-feira, 22 de outubro de 13

Page 33: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG

Uma observação muito importante é não confundir o Page.Trace com a classe Trace, pois, enquanto o Page.Trace retorna um objeto da classe TraceContext, a classe Trace retorna da classe System.Diagnostics.

Podemos informar dois tipos de configuração no nosso projeto – DEBUG e RELEASE – sendo que ambos – Trace e Debug – são compilados caso seja definido modo DEBUG, e apenas o Trace é compilado caso a configuração do projeto esteja em modo RELEASE.

terça-feira, 22 de outubro de 13

Page 34: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG

Essas classes são muito úteis na busca de erros e na correção dos mesmos, até mesmo quando você possui um código que insere em algum banco de dados, você pode verificar quais os valores passados no Trace ou Debug antes de inseri-los no Banco.Por padrão a saída dos métodos de ambas as classes é feita na janela Output do VisualStudio .NET, mas podemos utilizar a coleção Listerners para termos outros tipos de saída.

terça-feira, 22 de outubro de 13

Page 35: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG

Os principais métodos utilizados por estas saídas são:

Método Descrição

Write Escreve uma informação – sem condições adicionais

WriteLine Escreve uma informação – sem condições adicionais – uma por linha

WriteIf Escreve uma informação, apenas se a condição informada for verdadeira

WriteLineIf Escreve uma informação, apenas se a condição informada for verdadeira – uma por linha

Assert Verifica a condição, se a condição for falsa, escreve a mensagem

Fail Escreve uma mensagem de erro

terça-feira, 22 de outubro de 13

Page 36: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG

terça-feira, 22 de outubro de 13

Page 37: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG

terça-feira, 22 de outubro de 13

Page 38: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG

terça-feira, 22 de outubro de 13

Page 39: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG

terça-feira, 22 de outubro de 13

Page 40: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG

terça-feira, 22 de outubro de 13

Page 41: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

DIAGNOSTICS.TRACE E DIAGNOSTICS.DEBUG

terça-feira, 22 de outubro de 13

Page 42: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

BIBLIOGRAFIA

• Centro para Iniciantes Microsoft: http://msdn.microsoft.com/pt-br/beginner/default.aspx• Como Programar com ASP.NET e C# - Alfredo Lotar - novatec• Desenvolvendo para Web usando o Visual Studio 2008 - Ramon Durães - novatec

42

terça-feira, 22 de outubro de 13

Page 43: DESENVOLVIMENTO DE SOFTWARE PARA INTERNET · PDF fileDESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 ... O parque mais seguro do mundo terça-feira, 22 de outubro de 13. ... Trace no nível

OBRIGADO

43

PROF. EMILIO PARMEGIANI

DOWNLOAD DO MATERIAL

terça-feira, 22 de outubro de 13