The problem is you are saving the file with the
Session
value appended with the extension of file.
Session["UserAuthentication"] = Session["UserAuthentication"] + ext;
FileUpload1.SaveAs(Server.MapPath("~/") + Session["UserAuthentication"]);
But you are searching it with the Session value only.
string imagePath = context.Request.QueryString["ID"];
So, its not getting the image.
Try to append the file extension to the
Session
value, then you can get the image.
For that you may need to search the image with the
Session
value and then get it.