public void ProcessRequest(HttpContext context) { System.Threading.Thread.Sleep(3000); string GenerateStatusCode, StatusCodeStr, WriteToResponse; int StatusCode; if (!string.IsNullOrEmpty(GenerateStatusCode = context.Request.Form["GenerateStatusCode"]) && GenerateStatusCode.Trim().ToLower() == "true" && !string.IsNullOrEmpty(StatusCodeStr = context.Request.Form["StatusCode"]) && int.TryParse(StatusCodeStr, out StatusCode)) { context.Response.StatusCode = StatusCode; if (!string.IsNullOrEmpty(WriteToResponse = context.Request.Form["WriteToResponse"]) && WriteToResponse.Trim().ToLower() == "true") { context.Response.Write("blah-blah-blah"); } context.Response.End(); return; } context.Response.CacheControl = "no-cache"; context.Response.Expires = -1; context.Response.ContentType = "application/json"; JsonObject tmpJsonObject = new JsonObject(new Dictionary <string, object> { { "success", true } }); string type; if (!string.IsNullOrEmpty(type = context.Request.Form["type"]) && type.Trim().ToLower() == "load") { tmpJsonObject.Accumulate("data", new JsonObject(new Dictionary <string, object> { { "TextField", "TextField" } })); } JsonTextWriter tmpJsonTextWriter = new JsonTextWriter(context.Response.Output); tmpJsonObject.Export(tmpJsonTextWriter); tmpJsonTextWriter.Flush(); tmpJsonTextWriter.Close(); }
public void ProcessRequest(HttpContext context) { System.Threading.Thread.Sleep(3000); string GenerateStatusCode, StatusCodeStr, WriteToResponse; int StatusCode; if (!string.IsNullOrEmpty(GenerateStatusCode = context.Request.Form["GenerateStatusCode"]) && GenerateStatusCode.Trim().ToLower() == "true" && !string.IsNullOrEmpty(StatusCodeStr = context.Request.Form["StatusCode"]) && int.TryParse(StatusCodeStr, out StatusCode)) { context.Response.StatusCode = StatusCode; if (!string.IsNullOrEmpty(WriteToResponse = context.Request.Form["WriteToResponse"]) && WriteToResponse.Trim().ToLower() == "true") { context.Response.Write("blah-blah-blah"); } context.Response.End(); return; } string startStr = context.Request.Form["start"], limitStr = context.Request.Form["limit"]; int start = 0, limit = int.MaxValue; if (!int.TryParse(startStr, out start)) { start = 0; } if (!int.TryParse(limitStr, out limit)) { limit = int.MaxValue; } context.Response.CacheControl = "no-cache"; context.Response.Expires = -1; context.Response.ContentType = "application/json"; JsonObject RootJsonObject = null; JsonTextWriter tmpJsonTextWriter = new JsonTextWriter(context.Response.Output); string xaction = context.Request.Form["xaction"]; switch (xaction) { case "read": { RootJsonObject = DataTableToJson(GetData(context), start, limit); break; } case "update": { DataTable tmpDataTable = GetData(context); object tmpObject = JsonConvert.Import(context.Request.Form["rows"]); if (tmpObject is JsonArray) { JsonArray tmpJsonArray = (JsonArray)tmpObject; for (int i = 0; i < tmpJsonArray.Count; ++i) { UpdateRow((JsonObject)tmpJsonArray[i], IdPropertyName, tmpDataTable); } } else if (tmpObject is JsonObject) { UpdateRow((JsonObject)tmpObject, IdPropertyName, tmpDataTable); } RootJsonObject = new JsonObject(); RootJsonObject.Accumulate("success", true); RootJsonObject.Accumulate("message", "200OK"); RootJsonObject.Accumulate("msg", "200OK"); break; } default: { throw new Exception("Unknown \"xaction\"=\"" + xaction + "\""); } } RootJsonObject.Export(tmpJsonTextWriter); tmpJsonTextWriter.Flush(); tmpJsonTextWriter.Close(); }