public FileResult DownloadDocument(VMUserProfile userprofile, int UploadDocumentID)
{
//This method will get a file from the database and
//Permissions will be checked
}
如果用户没有适当的访问来下载文件,您将如何处理让用户知道其访问权限?扔一个IO例外?
提供少量信息,答案很难简洁。也就是说:
鉴于方法签名,您的抛出例外的假设是有意义的。DownloadDocument
显然期望它实际上可以执行下载。由于它会在经常使用下发生的一系列情况下失败和预期的情况:
-
抛出某种类型的异常(在这种情况下,由于我们谈论的是ASP.NET,我们将要使用
HttpResponseException
,以便使用相关的403状态代码将HttpResponseMesssage
返回给客户端) -
在客户端控制器上,您可以使用异常处理程序为开发人员生成适当的日志记录和堆栈跟踪,同时还创建了一个用户友好的错误消息,以在UI
上显示
如果您有更多的特定需求,则必须实施更高级的处理,但是您似乎对最初直觉有一个很好的总体前提。