public void ProcessRequest(HttpContext context)
 {
     HttpPostedFile uploads = context.Request.Files["upload"];
     string CKEditorFuncNum = context.Request["CKEditorFuncNum"];
     string file = System.IO.Path.GetFileName(uploads.FileName);
     uploads.SaveAs(context.Server.MapPath(".") + "\\artimg\\" + file);
     string url = "/Admin/artimg/" + file;
     string a = context.GetType().ToString();
     context.Response.Write("<script>window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ", \"" + url + "\");</script>");
     context.Response.End();
 }
        //[SecurityPermission(SecurityAction.Assert, UnmanagedCode = true)]
        HttpWorkerRequest GetWorkerRequest(HttpContext context)
        {
            if (_hasUnmanagedCodePermission)
            {
                IServiceProvider provider = (IServiceProvider)context;

                return (HttpWorkerRequest)provider.GetService(typeof(HttpWorkerRequest));
            }
            else
            {
                Type c = context.GetType();

                PropertyInfo p = c.GetProperty("WorkerRequest", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);

                if (p != null)
                    return (HttpWorkerRequest)p.GetValue(context, null);
                else
                    return null;
            }
        }