public void ProcessRequest()
{
string fileId;
var xhrType = ParseRequest(out fileId);
if(xhrType != XhrType.None) {
Response.ClearContent();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
// Process xhr request
switch(xhrType) {
case XhrType.Poll:
// Upload progress polling request
XhrPoll(fileId);
break;
case XhrType.Cancel:
// Cancel upload request
XhrCancel(fileId);
break;
case XhrType.Done:
// A file is successfully uploaded
XhrDone(fileId);
break;
case XhrType.Complete:
// All files successfully uploaded
XhrComplete();
break;
case XhrType.Start:
XhrStart();
break;
}
Response.End();
}
}