I am developing a web site where people can access audio and video files. I have the code for downloading the files, which consists of two action methods as follows...
        
The File method of MvcController returns a FileContentResult. The latter does not stream the content. As far as I'm aware, MvcController does not support streaming at all.
You may want to try ApiController and PushStreamContent. The latter gives the possibility to asynchronously write to the output stream via a callback method. You'll need to work with actual streams in your solution for that. Working with byte[] will always load the whole file content into memory.
See a detailed tutorial here:Asynchronously streaming video with ASP.NET Web API