Recomendado: Método ASP.NET para obter endereço IP e MAC O método de obter o endereço IP do servidor é simples e prático para usar o método DNS, como segue: private void buttonip_click (remetente de objeto, System.EventArgs e) {System M.Net.ipaddress [] endereçoList = dns.gethostbyname (dns
7.4.4 Usando a página de erro do IIS
O que está relacionado ao processo de manuseio de erros ASP é fornecer às páginas de erro do IIS IIS. De fato, esse recurso também é encontrado no IIS 4.0. Mas o novo objeto interno do ASP Asperror é mais fácil de usar e fornece recursos mais poderosos.
No capítulo 4, quando analisamos o servidor.execute e o server.Transfer Methods, já falamos sobre como criar uma página de erro personalizada. Também discutimos e usamos o objeto Asperror, mas esse método está sujeito a certas limitações. Nesta seção, apresentaremos como combinar uma página de erro personalizada com um objeto Asperror para criar uma maneira melhor de lidar com erros ASP.
Podemos usar o VBScript para verificar o conteúdo do objeto Asperror, criando assim uma página de erro personalizada. Crie uma string contendo informações abrangentes sobre o conteúdo do erro e escreva -as em um arquivo de log no disco do servidor. No entanto, não é possível projetar uma página da web para fazer com que o visitante veja que a página da web não está disponível. Ele deve permitir que os visitantes escolham se devem recarregar a página da web anterior ou retornar à página inicial, para que não saibam que ocorreu um erro.
Embora usemos o VBScript para criar esta página da Web, alguns dos recursos que usam também são aplicáveis ao JScript e também é mais fácil converter as duas linguagens de script.
Exemplo de arquivos para este capítulo e outros capítulos deste livro podem ser baixados no site http://www.wrox.com.
1. Configurando páginas de erro personalizadas
Antes de poder usar uma página de erro personalizada, você deve fazer as configurações correspondentes no Gerenciador de Serviços de Internet (consulte o Capítulo 4 para configurar métodos). Carregue o arquivo de amostra no diretório wwwroot do computador, abra a caixa de diálogo Propriedades do subdiretório Capítulo07, na guia Erros personalizados, role a lista e selecione o erro HTTP 500: 100 entrada, clique no botão Editar Propriedades e digitar o URL da página de erro personalizada Custom_ERROR.Asp.asp
Agora, quando ocorre um erro ASP na página no subdiretório Capítulo07, a página de erro personalizada será aberta.
2. Use a página de erro personalizada
Abra o diretório Capítulo07 no seu navegador e selecione o link para usar uma página de erro personalizada. Esta página exibe uma série de botões para gerar vários tipos de erros. Clique no botão marcado Carregar uma página com um erro de sintaxe
Isso carregará uma página simples chamada syntax_error.asp. No entanto, esta página não pode ser vista porque esta página contém um erro de sintaxe. O ASP encerra a compilação/execução desta página e transfere a execução para a página de erro personalizada. Esta página exibe os detalhes do erro e dois botões, que são usados para retornar à página anterior (menu principal) ou para retornar à página inicial padrão do site.
Esta página também anexa o relatório de erro ao arquivo de log denominado Custom_error.log na pasta Disco C:/Temp do servidor. Ele pode ser aberto e visualizado no editor de arquivos. O arquivo de log registrou vários erros.
Se você receber uma mensagem na página, indicando que o arquivo de log não pode ser gravado, pode ser porque a conta IUSR_MACHINENAME (nome do iusr_computer) não tem permissão para acessar o diretório C:/temp. Ao testar esta página, a conta iusr_machineName deve receber todo o controle sobre esse diretório ou o código do programa da página Custom_error.asp deve ser alterado para apontar para uma pasta onde o IUSR tem controle total.
A única razão pela qual a mensagem de erro aparece na página é porque na página Causa_error.asp selecionamos a caixa de seleção correspondente. Se você desativar esta opção e clicar no botão novamente, não verá os detalhes do erro, mas a mensagem de erro ainda será gravada no arquivo de log de erros custom_error.log no disco do servidor.
A caixa de seleção Display Debugging Information fornece páginas de erro personalizadas (em vez de arquivos de log) mais informações e ajuda a depurar as páginas que usam valores de coleta de objetos ASP.
Esse problema será discutido mais adiante na seção a seguir deste capítulo e você também poderá aprender sobre outros tipos de informações de erro fornecidas por outros botões na página de causa de uma página de erro. Observe que alguns botões podem fornecer mais informações do que outros. Em particular, apenas o último botão fornece o valor do código de erro ASP (aqui está asp 0177).
(1) Funções de causa de uma página de erro
Como nas páginas de exemplo discutidas anteriormente, as páginas que causam o erro usam a mesma técnica, usando <form> para enviar o valor para a mesma página. Em seguida, clique no botão Enviar na janela ASP Visualizador do Programa e execute a parte correspondente do código. Verifique também se as duas caixas de seleção na página estão selecionadas. Nesse caso, o programa define primeiro uma ou duas variáveis no nível da sessão para indicar isso.
<%
'Veja se estamos exibindo informações de erro e depuração
'Defina variáveis de sessão para recuperar na página de erro personalizada
Se Len (request.form (chkshowerror)) então
Sessão (chuveiro) = sim
Outro
Sessão (chuveiro) =
Final se
Se Len (request.form (chkshowdebug))) então
Sessão (showDebug) = sim
Outro
Sessão (showDebug) =
Final se
...
%>
Devido ao uso do servidor.Transfer, quando ocorre um erro, todo o ambiente ASP da página de Web em execução é passado para a página de erro personalizada pelo IIS. No entanto, o valor da variável de script não é passado para a página de erro personalizada, portanto a variável de sessão deve ser usada ou o valor deve ser adicionado à solicitação.form ou request.QueryString Collection para passar o valor para a página de erro personalizada.
Depois de definir a variável da sessão, o programa continua a visualizar qual botão foi clicado. Cada tipo de erro (exceto o primeiro tipo) é gerado executando o código ASP correspondente, e o primeiro tipo de erro requer chamar outra página.
...
'Procure um comando enviado dos botões da seção do formulário
Se Len (request.form (cmdsyntax)) então
Response.clear
Response.Redirect Syntax_error.asp
Final se
Se Len (request.form (cmdParamType)) então
intdate = erro
intday = dia (intdate)
Final se
Se Len (request.form (cmDarray)) então
Dim Arthis (3)
arrthis (4) = causa um erro
Final se
Se Len (request.form (cmdfile)) então
Set objfso = server.createObject (script.filesystemoBject)
Definir objTStream = objfso.opentExtfile (doios_not_exist.txt)
Final se
Se Len (request.form (cmdpageCount)) então
Definir objpageCount = server.createObject (mswc.pagecounter)
objpageCount.wrongproperty = 10
Final se
Se Len (request.form (cmdObject)) então
Definir objthis = server.createObject (não é existente)
Final se
Compartilhar: finalmente encontrei uma solução para atravessar o limite do subscrito ASP Ontem, o site do meu filme teve um problema ao gerar páginas de conteúdo estático. Foi solicitado a cruzar a linha com o subscrito. Eu nunca tinha encontrado antes, então não sabia o que era, então procurei respostas on -line, mas era realmente difícil de encontrar. Encontrei muito, mas não consegui resolver o problema fundamental.