You actually didn't really need to create a WebService to perform an action to just let the client download the file. What you would do, is to create a hyperlink for the file link (generally to the page) from where the user would download the file.
<a href="~/DownloadFile?FileName=@Filename">Download</a>
<!--
Now once the user has reached that page, you can push the data inside that file to the user.
@{
Layout = null;
var file = Server.MapPath("~/files/" + Request["FileName"]);
Response.AppendHeader("content-disposition", "attachment; filename=" + Request["img"]);
Response.ContentType = "application/octet-stream";
Response.TransmitFile(file);
}
This would transmit the file from the server to the client. No need for any WebService or any other complex framework.