我有一个网格,它为用户提供了一些下载文件的链接。文件存储在应用程序之外,路径引用从数据库中读取,并且 HTTP 处理程序 (*.ashx) 用于为每个请求的文件提供服务。但是,可能存在指向不存在文件的数据库条目。我抓住了FileNotFoundException
,但我不确定通知用户丢失文件的最佳方法是什么(以便他们可以联系支持)。
第一个想法是在响应上设置一个标准的 404 代码,这就是我现在正在做的事情。
更有用的方法是显示有关丢失文件的通知 (jQuery),但文件下载不是在 AJAX 中完成的,因此这将涉及两步过程 - 客户端 onclick 处理程序调用 Web 服务方法来检查是否该文件存在,如果不存在,那么我取消单击(返回 false)并向用户显示一条友好消息。但是,如果文件存在,我将继续正常执行。但这又增加了另一个服务器调用。
你有没有处理过类似的问题?你是怎么解决的?
一些说明 - 该应用程序是在 ASP.NET 2.0 中构建的,并使用 jQuery 来调用 Web 服务方法。