Subiendo imágenes con el controlador genérico de asp.net

Estoy tratando de subir varios archivos utilizando el siguiente código.

HTML y JQuery

            

$(document).ready(function () { $("#progressbar").progressbar({ value: 0 }); $("#Button1").click(function (evt) { var fileUpload = $("#FileUpload1").get(0); var files = fileUpload.files; var data = new FormData(); for (var i = 0; i < files.length; i++) { data.append(files[i].name, files[i]); } var options = {}; options.url = "Upload.ashx"; options.type = "POST"; options.data = data; options.asyn = true; options.contentType = false; options.processData = false; options.dataType = "application/json; charset=utf-8"; options.success = function (data) { var length = data.length; for (var i = 0; i < length; i++) { updateProgress(); } $("#progressbar").progressbar("value", 100); }; options.error = function (err) { alert(err.statusText); }; $.ajax(options); evt.preventDefault(); }); }); function updateProgress() { var value = $("#progressbar").progressbar("option", "value"); if (value < 100) { $("#progressbar").progressbar("value", value + 1); } }

C # Handler

 using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace FileUpload { ///  /// Summary description for Upload ///  public class Upload : IHttpHandler { public void ProcessRequest(HttpContext context) { if (context.Request.Files.Count > 0) { HttpFileCollection files = context.Request.Files; for (int i = 0; i < files.Count; i++) { HttpPostedFile file = files[i]; string fname = context.Server.MapPath("~/Upload/" + file.FileName); file.SaveAs(fname); } } context.Response.ContentType = "text/plain"; context.Response.Write("File(s) Uploaded Successfully!"); } public bool IsReusable { get { return false; } } } } 

Tengo una barra de progreso de la interfaz de usuario de Jquery que se actualiza según el porcentaje completado. Podría subir un archivo. Pero cuando selecciono varios archivos para cargar, se produce un error interno del servidor. La barra de progreso no funciona en absoluto en ninguno de los casos (cargar un archivo o varios archivos)

¿Podría alguien echar un vistazo y qué está mal en mi código?

Gracias,

ACTUALIZAR

Tengo los múltiples problemas de archivos ordenados. Pero todavía no se pudo actualizar la barra de progreso.