/// <summary>
        /// BeginRequest 处理程序
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void context_BeginRequest(object sender, EventArgs e)
        {
            HttpApplication application   = sender as HttpApplication;
            string          caseParameter = HttpContext.Current.Request["Parameter"];

            if (this.IsUploadRequest(application.Request) &&
                caseParameter == "MyModule")
            {
                HttpWorkerRequest workerRequest   = this.GetWorkerRequest(application.Context);
                Encoding          contentEncoding = application.Context.Request.ContentEncoding;
                if (workerRequest != null)
                {
                    byte[]            boundary = this.ExtractBoundary(application.Request.ContentType, contentEncoding);
                    string            uploadId = application.Request.QueryString["uploadId"];
                    MimeUploadHandler handler  = new MimeUploadHandler(new RequestStream(workerRequest), boundary, uploadId, contentEncoding);
                    if (uploadId != null)
                    {
                        this.RegisterIn(application.Context, handler);
                    }
                    try
                    {
                        this.SetUploadState(application.Context, UploadState.ReceivingData);
                        handler.Parse();
                        this.InjectTextParts(workerRequest, contentEncoding.GetBytes(handler.TextParts));
                    }
                    catch (DisconnectedException)
                    {
                        this.CleanupFiles(application.Context);
                    }
                }
            }
        }
        /// <summary>
        /// 设置上传状态
        /// </summary>
        /// <param name="context"></param>
        /// <param name="state"></param>
        private void SetUploadState(HttpContext context, UploadState state)
        {
            MimeUploadHandler uploadHandler = this.GetUploadHandler(context);

            if (uploadHandler != null)
            {
                uploadHandler.UploadStatus.SetState(state);
            }
        }
        /// <summary>
        /// 获取上传文件集合
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public static UploadedFileCollection GetUploadedFiles(HttpContext context)
        {
            MimeUploadHandler handler = (MimeUploadHandler)context.Items["_uploadHandler"];

            if (handler != null)
            {
                return(UploadedFileCollection.ReadOnly(handler.UploadedFiles));
            }
            return(null);
        }
        /// <summary>
        /// 清除上传信息
        /// </summary>
        /// <param name="context"></param>
        private void CleanupFiles(HttpContext context)
        {
            MimeUploadHandler uploadHandler = this.GetUploadHandler(context);

            if (uploadHandler != null)
            {
                foreach (UploadedFile file in uploadHandler.UploadedFiles)
                {
                    File.Delete(file.ServerPath);
                }
                uploadHandler.UploadedFiles.Clear();
            }
        }
 private void RegisterIn(HttpContext context, MimeUploadHandler handler)
 {
     context.Items["_uploadHandler"] = handler;
     context.Application["_UploadStatus_" + handler.UploadStatus.UploadId] = handler.UploadStatus;
 }