public IActionResult Index() { try { CustomSyncEngine customSyncEngine = new CustomSyncEngine(databaseContext, syncConfiguration); SyncServer syncServer = new SyncServer(customSyncEngine); IFormFile syncData = Request.Form.Files.FirstOrDefault(); if (syncData == null) { throw new NullReferenceException(nameof(syncData)); } byte[] syncDataBytes = null; using (var memoryStream = new MemoryStream()) { syncData.CopyTo(memoryStream); memoryStream.Seek(0, SeekOrigin.Begin); syncDataBytes = new byte[memoryStream.Length]; memoryStream.Read(syncDataBytes, 0, syncDataBytes.Length); } JObject result = syncServer.Process(syncDataBytes); return(Json(result)); } catch (Exception e) { return(Json(SyncServer.JsonErrorResponse(e.Message))); } }