Pergunta

Eu tenho uma grade que fornece alguns links para os usuários a baixar arquivos. Os arquivos são armazenados fora do aplicativo, as referências de caminho são lidos a partir do banco de dados e um HTTP handler (* .ashx) é usado para servir cada arquivo solicitado. É, no entanto, possível que poderia haver uma entrada de banco de dados apontando para um arquivo inexistente. I pegar o FileNotFoundException, mas eu não tenho certeza de qual seria o melhor método para informar o usuário sobre o arquivo ausente (para que eles possam entrar em contato com o suporte).

Primeiro idéia é definir um código 404 padrão na resposta, e é isso que eu estou fazendo agora.

Uma maneira mais útil seria para exibir uma notificação (jQuery) sobre um arquivo que está faltando, mas o download do arquivo não é feito em AJAX, então isso implicaria um processo de duas etapas - uma do lado do cliente onclick manipulador chama um método de serviço web para verificar se o arquivo existe, se não, então eu cancelar o clique (false retorno) e exibir uma mensagem amigável para o usuário. Se o arquivo existir no entanto, eu prosseguir com a execução normal. Mas isso ainda acrescenta outra chamada do servidor.

Você já lidou com um problema semelhante? Como você resolvê-lo?

Alguns esclarecimentos -. A aplicação é construída em ASP.NET 2.0 e usa jQuery para chamar os métodos de serviços web

Foi útil?

Solução

Pawel, parece que você respondeu a sua pergunta já ...

... (para que eles possam entrar em contato suporte) ...

Ao afirmar o acima eu sugiro que você criar uma página 404 personalizada que notifica o usuário do arquivo não existente no disco e fornecer-lhes informações sobre como entrar em contato com o escritório de suporte.

Eu criei um HTTP Handler para lidar com arquivos e se um arquivo não existir no disco, então eu retornar uma resposta 404. I tenha configurado o IIS para exibir uma página personalizada se um reponse 404 foi jogado .. (e eu faço o mesmo para o erro 500).

Espero que isso ajude e boa sorte em encontrar a solução que se adapta às suas necessidades!

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