【发布时间】:2014-02-18 17:16:01
【问题描述】:
我正在开发一个 ASP.NET 应用程序,该应用程序需要能够为包含范围请求的文件提供服务。 ASP.NET MVC 团队已经说过they won't support this within MVC,并建议使用 IIS 来提供静态文件。
这是我的问题。当用户提出请求时,他们不会在 URL 中包含任何直接映射到文件的识别信息。该请求可能类似于:http://whatever.com/Download?ID=TXlGaWxlLnhv34lk。在 MVC 中,我需要进行 Web 服务调用以将该 ID 解析为最终将位于网络共享上的文件。此外,我们有自己定制的授权机制,每个请求都必须经过我们才能为文件提供服务。
Tomasz Pęczek 实现了一个名为 RangeFileResult 的自定义 ActionResult,它似乎重新实现了 IIS 默认提供的那种范围请求支持。我试过使用它,它似乎工作......但我觉得应该有一种方法让 IIS 为我服务静态文件。
所以,最终,我想知道是否可以让 MVC 接收请求,进行身份验证和授权,将 ID 解析为网络共享上的文件路径,然后回退到 IIS 的静态文件处理程序以实际返回文件信息。
【问题讨论】:
标签: c# asp.net asp.net-mvc iis