When returning content to a user from a generic handler use the the AddHeader method to specify the filename
context.Response.ContentType = "text/comma-separated-values";
context.Response.AddHeader("content-disposition", "attachment; filename=PrinterDirect.CSV");