File downloads in a self-host Nancy application

nancy

Solution

I found that I was actually hosting Nancy in WCF not self-host. The behaviour I described only happens when hosted in WCF. Self-Host will work fine for my application so I'll go with that.

Problem

I'm working on a small project that uses Nancy hosted from within a WPF application. I want to be able to remotely download a PDF file that is ~8MB. I was able to get the download to work but while the download is in progress the application won't respond to any other requests. Is there a way I can allow the file download without tying up the all other requests? ``` Public Class ManualsModule : Inherits NancyModule Public Sub New() MyBase.New("/Manuals") Me.Get("/") = Function(p) Dim model As New List(Of String) From {"electrical", "opmaint", "parts"} Return View("Manuals", model) End Function Me.Get("/{name}") = Function(p) Dim manualName = p.name Dim fileResponse As New GenericFileResponse(String.Format("Content\Manuals\{0}.pdf", manualName)) Return fileResponse End Function End Sub End Class ``` Or in C# ``` public class ManualsModule : NancyModule { public ManualsModule() : base("/Manuals") { this.Get("/") = p => { List<string> model = new List<string> { "electrical", "opmaint", "parts" }; return View("Manuals", model); }; this.Get("/{name}") = p => { dynamic manualName = p.name; GenericFileResponse fileResponse = new GenericFileResponse(string.Format("Content\\Manuals\\{0}.pdf", manualName)); return fileResponse; }; } } ```

Original source