Pergunta

Estamos recebendo um bug ímpar em um servidor de produção. Temos um rastreamento de pilha, mas sem números de linha, então eu sei o método em que está o bug, mas não a linha exata. Está reclamando de uma "referência de objeto não definida como uma instância de um objeto". Algo é nulo.

Depois de olhar para o código, os únicos dois culpados em potencial que posso ver são as duas linhas consecutivas que diziam:

string currentPath = this.Request.CurrentExecutionFilePath;
string[] parts = currentPath.Split('/');

o que lançaria se a solicitação fosse nula, ou se o currentExecutionFilePath da solicitação fosse nulo. Não estou muito claro sobre quando (ou mesmo se) isso pode acontecer. Estou latindo a árvore errada aqui? (Este código parece estar em execução durante a parte de carga do ciclo de vida da página).

Foi útil?

Solução

Você tem saída PDB ativada para sua versão de lançamento?

Se você o fizer, precisará implantar o PDB no seu servidor de produção para obter números de linha no seu rastreamento de pilha.

(PDB e DLLs precisam combinar)

Outras dicas

A solicitação e/ou httpcontext podem ser nulos se você iniciar threads do seu primeiro. (Processamento assíncrono, etc.)

Curiosamente, eu já vi um erro nulo de HttPrequest (muitas vezes) em um servidor de produção sem nunca conseguir descobrir a causa.

Eu sei que isso não tem utilidade para você, mas estou apenas escrevendo por solidariedade :)

Uma coisa em potencial que me lembro era fazer com o IIS não mapear a raiz para /default.aspx, mas, novamente, isso foi há muito tempo, então, por favor, não preste muita atenção a essas divagações potencialmente inúteis !!!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top