public static byte[] SerializeXmlWithoutNamespaces(object instance, bool compress = false) { if (instance == null) { return(null); } using (var ms = new MemoryStream()) { var xsn = new XmlSerializerNamespaces(); xsn.Add(string.Empty, string.Empty); var settings = new XmlWriterSettings { OmitXmlDeclaration = true, Encoding = new UTF8Encoding(false) }; //settings.Indent = true; //settings.IndentChars = "\t"; //settings.NewLineChars = Environment.NewLine; //settings.ConformanceLevel = ConformanceLevel.Document; var xmls = new XmlSerializer(instance.GetType()); using (var writer = XmlWriter.Create(ms, settings)) { xmls.Serialize(writer, instance, xsn, null, null); } return(compress ? GZipHelper.Compress(ms.ToArray()) : ms.ToArray()); } }
public override void SendAsync(byte[] data, int offset, int lenght) { if (this.Socket == null) { return; } byte[] buffer = this._isCompress ? this.BuilderPack(GZipHelper.Compress(data, offset, lenght)) : this.BuilderPack(data, offset, lenght); var awaiter = HandlerSaeaPool.Take(); awaiter.Saea.SetBuffer(buffer, 0, buffer.Length); Interlocked.Increment(ref _intervalIsUseChannel); SaeaExHelper.SendAsync(this.Socket, awaiter, (a, e) => { Interlocked.Decrement(ref _intervalIsUseChannel); this.HandlerSaeaPool.Return(awaiter); this.SendTransferredBytes = a.Saea.Buffer.Length; this.NotifyEventHandler?.Invoke(TcpSocketCompletionNotify.OnSend, this); }); }
public override void ExecuteResult(HttpContext context) { LibViewModel viewModel = LibViewModel.CreateSuccessJSONResponseViewModel(); viewModel.ResultData = this._data; ExceptionHelper.TrueThrow <ArgumentNullException>(context == null, "context is null!"); HttpResponse response = context.Response; response.ContentType = _contentType; response.ContentEncoding = _contentEncoding; //var json = JsonHelper.Serialize(viewModel); var json = Newtonsoft.Json.JsonConvert.SerializeObject(viewModel); if (context.Request.Headers["UseGZip"] == ((int)UseGZip.ReturnData).ToString() || context.Request.Headers["UseGZip"] == ((int)UseGZip.Both).ToString()) { DateTime start = DateTime.Now; var base64 = GZipHelper.Compress(json); DateTime end = DateTime.Now; TimeSpan span = end - start; response.Headers.Add("GZip-Time", span.TotalMilliseconds.ToString()); response.Write(base64); } else { response.Write(json); } HttpContext.Current.ApplicationInstance.CompleteRequest(); // response.End(); }
/// <summary> /// Saves user data to Unity's PlayerPrefs /// </summary> public void Save(bool isExitSave = false) { StandaloneSavedData sData = new StandaloneSavedData(); sData.SettingsVersion = SettingsVersion; sData.Users = Users; sData.CurrentUser = User.Name; sData.AvatarId = User.AvatarId; sData.CurrentLevelNumber = User.CurrentLevelNumber; sData.LevelsCompleted = User.LevelsCompleted; // options sData.MusicVolume = User.MusicVolume; sData.SoundVolume = User.SoundVolume; sData.LastTrack = User.LastTrack; sData.DontShowExitGameWindow = User.DontShowExitGameWindow; sData.Alarms = User.Alarms; string json = GZipHelper.Compress(JsonUtility.ToJson(sData)); PlayerPrefs.SetString(Consts.APP_SHORTNAME, json); Debug.Log("SETTINGS: Saving to local device."); PlayerPrefs.SetInt("SettingsVersion", SettingsVersion); PlayerPrefs.Save(); }
protected Archivo ProcesarArchivo(GuardarArchivoRequestBody requestBody) { string contenido = string.Empty; string url = string.Empty; if (requestBody.Archivo != null) { if (requestBody.Archivo.Length > 0) { using (var ms = new MemoryStream()) { requestBody.Archivo.CopyTo(ms); contenido = Convert.ToBase64String(GZipHelper.Compress(ms.ToArray())); } } } else if (requestBody.Url != null) { url = requestBody.Url; } return(new Archivo { Contenido = contenido, Url = url, Nombre = requestBody.Nombre, Extension = requestBody.Extension }); }
public unsafe void WriteServiceData(byte[] data) { //第一位表示gzip,第二位表示keepclient int flag = 0; if (data.Length > CompressionMinSize) { data = GZipHelper.Compress(data); flag = 1; } if (KeepAlive) { flag |= 2; } byte[] tosend = new byte[data.Length + 4]; flag |= (data.Length << 2); fixed(byte *ptrData = data) { Marshal.Copy(new IntPtr(ptrData), tosend, 4, data.Length); } byte *ptr = (byte *)&flag; Marshal.Copy(new IntPtr(ptr), tosend, 0, 4); this.Write(tosend); }
public void SetDeriveExcel(string JsonColumn, string JsonData, string JsonFooter, string FileName) { CookieHelper.WriteCookie("JsonColumn_DeriveExcel", GZipHelper.Compress(JsonColumn)); CookieHelper.WriteCookie("JsonData_DeriveExcel", GZipHelper.Compress(JsonData)); CookieHelper.WriteCookie("JsonFooter_DeriveExcel", GZipHelper.Compress(JsonFooter)); CookieHelper.WriteCookie("FileName_DeriveExcel", GZipHelper.Compress(FileName)); }
public override void SendAsync(byte[] data, int offset, int length) { if (this._disposable == 1) { return; } byte[] bytes = GZipHelper.Compress(data, offset, length); if ((SessionWorkType)_session.AppTokens[0] == SessionWorkType.ManagerSession) { byte[] body = new byte[sizeof(Int64) + sizeof(Int32) + bytes.Length]; BitConverter.GetBytes(this.RemoteId).CopyTo(body, 0); BitConverter.GetBytes(bytes.Length).CopyTo(body, 8); bytes.CopyTo(body, 12); MessageHelper.SendMessage(_session, MessageHead.Msg_MessageData, body); } else { byte[] body = new byte[bytes.Length + sizeof(Int32)]; BitConverter.GetBytes(bytes.Length).CopyTo(body, 0); bytes.CopyTo(body, 4); _session.SendAsync(body, 0, body.Length); } }
public static byte[] SerializeXml(object instance, bool compress = false) { if (instance == null) { return(null); } using (var ms = new MemoryStream()) { var xmls = new XmlSerializer(instance.GetType()); //var xsn = new XmlSerializerNamespaces(); //xsn.Add(string.Empty, null); //xmls.Serialize(ms, instance, xsn); using (var xmlWriter = new XmlTextWriter(ms, null) { Formatting = Formatting.Indented, Indentation = 2 }) { xmls.Serialize(xmlWriter, instance, null, null, null); } return(compress ? GZipHelper.Compress(ms.ToArray()) : ms.ToArray()); } }
protected virtual void SendToBefore(TcpSocketSaeaSession session, byte[] data) { //为解决延迟发送导致的accessId不安全问题 var accessIdObj = Thread.GetData(Thread.GetNamedDataSlot("AccessId")); var accessId = accessIdObj.IsNull() ? GetAccessId(session) : accessIdObj.ConvertTo <long>(); SendTo(session, WrapAccessId(GZipHelper.Compress(data, 0, data.Length), accessId)); }
//public BaseTransfer(IEnumerable<Type> knownTypes) //{ //} #if !SILVERLIGHT public byte[] Compress <T>(T it) { using (MemoryStream stream = new MemoryStream()) { Serialize(it, stream); stream.Flush(); stream.Position = 0; return(GZipHelper.Compress(stream)); } }
/// <summary> /// Saves user data to Unity's PlayerPrefs /// </summary> public void Save(bool isExitSave = false) { StandaloneSavedData sData = new StandaloneSavedData(); sData.User = User; sData.SettingsVersion = Consts.APP_VERSION; string json = GZipHelper.Compress(JsonUtility.ToJson(sData)); PlayerPrefs.SetString(Consts.PROJECT_NAME, json); //FINAL Debug.Log("SETTINGS: Saving to local device."); PlayerPrefs.SetInt("SettingsVersion", Consts.APP_VERSION); //SettingsVersion); PlayerPrefs.Save(); }
public static byte[] SerializeBinary(object instance, bool compress = false) { if (instance == null) { return(null); } using (var ms = new MemoryStream()) { var bf = new BinaryFormatter(); bf.Serialize(ms, instance); return(compress ? GZipHelper.Compress(ms.ToArray()) : ms.ToArray()); } }
public void StartConsuming() { ProcessingBlock currentProcessedBlock; while (_context.BlockQueue.TryDequeue(out currentProcessedBlock) && !_context.IsExecutionStopped()) { var compressedBytes = GZipHelper.Compress(currentProcessedBlock.BlockData); _context.ConsumerEventsManager.GetCurrentThreadEvent(currentProcessedBlock.BlockIndex).WaitOne(); _context.WriteFile.WriteToFile(compressedBytes); _context.ConsumerEventsManager.GetNextThreadEvent(currentProcessedBlock.BlockIndex).Set(); CheckWorkDone(currentProcessedBlock); } }
private void SendACK(TcpSocketSaeaSession session, ConnectionWorkType type) { var ackBody = MessageHelper.CopyMessageHeadTo(SiMay.Core.MessageHead.C_GLOBAL_CONNECT, new AckPack() { Type = (byte)type, AccessId = ApplicationConfiguartion.Options.AccessId, AccessKey = type == ConnectionWorkType.MainApplicationConnection ? ApplicationConfiguartion.Options.MainAppAccessKey : ApplicationConfiguartion.Options.AccessKey }); var dataBuilder = new List <byte>(); dataBuilder.AddRange(BitConverter.GetBytes(ApplicationConfiguartion.Options.AccessId)); dataBuilder.AddRange(GZipHelper.Compress(ackBody, 0, ackBody.Length)); session.SendAsync(dataBuilder.ToArray());//构造发送 dataBuilder.Clear(); }
/// <summary> /// 生成数据 /// </summary> protected byte[] ToBytes() { List <byte> reponseDataList = new List <byte>(); byte[] lineBytes = Encoding.UTF8.GetBytes(System.Environment.NewLine); var bdata = this.Body; if (SAEAMvcApplication.IsZiped && this.Body != null) { bdata = GZipHelper.Compress(this.Body); } var bodyLen = 0; if (bdata != null) { bodyLen = bdata.Length; } this.SetHeader(ResponseHeaderType.ContentLength, bodyLen.ToString()); var header = BuildHeader(); byte[] headerBytes = Encoding.UTF8.GetBytes(header); //发送响应头 reponseDataList.AddRange(headerBytes); //发送空行 reponseDataList.AddRange(lineBytes); //发送内容 if (bdata != null) { reponseDataList.AddRange(bdata); } var arr = reponseDataList.ToArray(); this.Body = null; reponseDataList.Clear(); reponseDataList = null; return(arr); }
private void SendAck(TcpSocketSaeaSession session, SessionWorkType type) { var typeByte = (byte)type; var ackBody = SerializePacket(new AckPack() { Type = typeByte.ConvertTo <ConnectionWorkType>(), AccessId = _options.AccessId, AccessKey = _options.AccessKey }); ackBody = GZipHelper.Compress(ackBody, 0, ackBody.Length); var dataBuilder = new List <byte>(); dataBuilder.AddRange(BitConverter.GetBytes(ackBody.Length)); dataBuilder.AddRange(ackBody); ackBody = dataBuilder.ToArray(); dataBuilder.Clear(); session.SendAsync(ackBody);//构造发送 }
/// <summary> /// 生成数据 /// </summary> protected byte[] ToBytes() { List <byte> reponseDataList = new List <byte>(); byte[] lineBytes = this.Encoding.GetBytes(System.Environment.NewLine); //var bdata = this.Body; var bdata = GZipHelper.Compress(this.Body); this.SetHeader(ResponseHeaderType.ContentLength, bdata.Length.ToString()); var header = BuildHeader(); byte[] headerBytes = this.Encoding.GetBytes(header); //发送响应头 reponseDataList.AddRange(headerBytes); //发送空行 reponseDataList.AddRange(lineBytes); //发送内容 reponseDataList.AddRange(bdata); return(reponseDataList.ToArray()); }
public IActionResult GuardarLogoGrupo([FromQuery, SwaggerParameter(Description = "Identificador del grupo", Required = true)] int idGrupo, [FromForm] GuardarArchivoRequestBody requestBody) { string contenido = string.Empty; if (requestBody.Archivo.Length > 0) { using (var ms = new MemoryStream()) { requestBody.Archivo.CopyTo(ms); contenido = Convert.ToBase64String(GZipHelper.Compress(ms.ToArray())); } } Archivo archivo = new Archivo { Contenido = contenido, Nombre = requestBody.Nombre, Extension = requestBody.Extension }; var respuesta = _genService.GuardarArchivo("T_GRUPOS", "LOGO", idGrupo.ToString(), archivo); return(ProcesarRespuesta(respuesta)); }
private IRestRequest GetRestRequest(object data, string url, bool useGZip) { var str = JsonConvert.SerializeObject(data); var request = new RestRequest(url, Method.POST); request.AddHeader("appId", this._appId); var rawData = Encoding.UTF8.GetBytes(str); if (useGZip) { request.AddHeader("gzip", "on"); rawData = GZipHelper.Compress(rawData); } var encryptData = AESHelper.Encrypt(rawData, this._secretKey, null, CipherMode.ECB, PaddingMode.PKCS7); request.AddParameter(new Parameter { Type = ParameterType.RequestBody, DataFormat = DataFormat.None, Value = encryptData, Name = "" }); return(request); }
public void WriteServiceData(byte[] data) { if (data.Length > CompressionMinSize) { data = GZipHelper.Compress(data); int len = (data.Length << 2) | 1;//第一位表示gzip,第二位表示keepclient if (KeepAlive) { len |= 2; } this.Write(len); this.Write(data); } else { int len = (data.Length << 2); if (KeepAlive) { len |= 2; } this.Write(len); this.Write(data); } }
/// <summary> /// 业务接口调用 /// </summary> /// <param name="Xml">XML格式</param> /// <param name="DeviceMark">设备号</param> /// <param name="Token">记号</param> /// <returns></returns> public string Invoke(string Xml, string DeviceMark, string Token) { //Stopwatch sw = new Stopwatch(); //sw.Start(); Xml = GZipHelper.Uncompress(Xml); StringBuilder Output = new StringBuilder(); ArrayList arraySql = new ArrayList(); ArrayList arrayParam = new ArrayList(); int Type = 0; bool IsOk = false; try { AnalysisXml(Xml, out arraySql, out arrayParam, out Type); switch (Type) { case 0: //新增 IsOk = DataFactory.SqlHelper().BatchExecuteBySql((object[])arraySql.ToArray(typeof(object)), (object[])arrayParam.ToArray(typeof(object))) >= 0 ? true : false; Output.Append(ResultMsg(IsOk, DbErrorMsg.ReturnMsg)); break; case 1: //修改 IsOk = DataFactory.SqlHelper().BatchExecuteBySql((object[])arraySql.ToArray(typeof(object)), (object[])arrayParam.ToArray(typeof(object))) >= 0 ? true : false; Output.Append(ResultMsg(IsOk, DbErrorMsg.ReturnMsg)); break; case 2: //删除 IsOk = DataFactory.SqlHelper().BatchExecuteBySql((object[])arraySql.ToArray(typeof(object)), (object[])arrayParam.ToArray(typeof(object))) >= 0 ? true : false; Output.Append(ResultMsg(IsOk, DbErrorMsg.ReturnMsg)); break; case 3: //查询 string strSql = string.Join(",", (string[])arraySql.ToArray(typeof(string))); object[] arrayParamobject = (object[])arrayParam.ToArray(typeof(object)); SqlParam[] paramArray = (SqlParam[])arrayParamobject[0]; DataTable dt = DataFactory.SqlHelper().GetDataTableBySQL(new StringBuilder(strSql), paramArray); if (DataTableHelper.IsExistRows(dt)) { Output.Append(DataTableHelper.DataTableToXML(dt)); } else { Output.Append(ResultMsg(false, "没有找到您要的相关数据")); } break; case 4: //存储过程-DataTableProc string DataTableProc = string.Join(",", (string[])arraySql.ToArray(typeof(string))); object[] DataTableProcParamobject = (object[])arrayParam.ToArray(typeof(object)); Hashtable DataTableProcparamArray = (Hashtable)DataTableProcParamobject[0]; DataTable DataTableProc_dt = DataFactory.SqlHelper().GetDataTableProc(DataTableProc, DataTableProcparamArray); if (DataTableHelper.IsExistRows(DataTableProc_dt)) { Output.Append(DataTableHelper.DataTableToXML(DataTableProc_dt)); } else { Output.Append(ResultMsg(false, "没有找到您要的相关数据")); } break; case 5: //存储过程-DataSetProc string DataSetProc = string.Join(",", (string[])arraySql.ToArray(typeof(string))); object[] DataSetProcParamobject = (object[])arrayParam.ToArray(typeof(object)); Hashtable DataSetProcparamArray = (Hashtable)DataSetProcParamobject[0]; DataSet DataSetProc_dt = DataFactory.SqlHelper().GetDataSetProc(DataSetProc, DataSetProcparamArray); if (DataSetProc_dt != null) { Output.Append(DataTableHelper.DataSetToXML(DataSetProc_dt)); } else { Output.Append(ResultMsg(false, "没有找到您要的相关数据")); } break; case 6: //存储过程-ExecuteByProc string ExecuteByProc = string.Join(",", (string[])arraySql.ToArray(typeof(string))); object[] ExecuteByProcParamobject = (object[])arrayParam.ToArray(typeof(object)); Hashtable ExecuteByProcparamArray = (Hashtable)ExecuteByProcParamobject[0]; IsOk = DataFactory.SqlHelper().ExecuteByProc(ExecuteByProc, ExecuteByProcparamArray) >= 0 ? true : false; Output.Append(ResultMsg(IsOk, DbErrorMsg.ReturnMsg)); break; case 7: //存储过程-BatchExecuteByProc IsOk = DataFactory.SqlHelper().BatchExecuteByProc((object[])arraySql.ToArray(typeof(object)), (object[])arrayParam.ToArray(typeof(object))) >= 0 ? true : false; Output.Append(ResultMsg(IsOk, DbErrorMsg.ReturnMsg)); break; case -1: //异常信息 Output.Append(ResultMsg(false, Logger.LogErrorMsg)); break; default: break; } } catch (Exception ex) { Output.Append(ResultMsg(false, ex.Message)); } //sw.Stop(); //LoggerTime.WriteLog("服务器处理总耗时:" + sw.ElapsedMilliseconds + "毫秒-----------\r\n"); return(GZipHelper.Compress(Output.ToString())); }
protected virtual void SendToBefore(TcpSocketSaeaSession session, byte[] data) { var accessId = GetAccessId(session); SendTo(session, WrapAccessId(GZipHelper.Compress(data, 0, data.Length), accessId)); }
protected virtual void SendToBefore(SessionProviderContext session, byte[] data) { var accessId = AppConfiguration.AccessId; SendTo(session, WrapAccessId(GZipHelper.Compress(data, 0, data.Length), accessId)); }
/// <summary> /// 业务接口调用 /// </summary> /// <param name="Xml">XML格式</param> /// <param name="Token">记号</param> /// <returns></returns> public string Invoke(string Xml, string Token) { //IDatabase database = DataFactory.Database(); //DbTransaction isOpenTrans = database.BeginTrans(); StringBuilder Output = new StringBuilder(); ArrayList arraySql = new ArrayList(); ArrayList arrayParam = new ArrayList(); string Action = ""; bool IsOk = false; try { AnalysisXml(Xml, out arraySql, out arrayParam, out Action); for (int i = 0; i < arraySql.Count; i++) { StringBuilder strSql = new StringBuilder(arraySql[i].ToString()); DbParameter[] parameter = (DbParameter[])arrayParam[i]; switch (Action) { case "Insert": //新增 IsOk = DataFactory.Database().ExecuteBySql(strSql, parameter) >= 0 ? true : false; Output.Append(ResultMsg(IsOk, DbResultMsg.ReturnMsg)); break; case "Update": //修改 IsOk = DataFactory.Database().ExecuteBySql(strSql, parameter) >= 0 ? true : false; Output.Append(ResultMsg(IsOk, DbResultMsg.ReturnMsg)); break; case "Delete": //删除 IsOk = DataFactory.Database().ExecuteBySql(strSql, parameter) >= 0 ? true : false; Output.Append(ResultMsg(IsOk, DbResultMsg.ReturnMsg)); break; case "Select": //查询 DataTable dt = DataFactory.Database().FindTableBySql(strSql.ToString(), parameter); if (!DataHelper.IsExistRows(dt)) { Output.Append(DataHelper.DataTableToXML(dt)); } else { Output.Append(ResultMsg(false, "没有找到您要的相关数据")); } break; case "Procedure": //存储过程 IsOk = DataFactory.Database().ExecuteByProc(strSql.ToString(), parameter) >= 0 ? true : false; Output.Append(ResultMsg(IsOk, DbResultMsg.ReturnMsg)); break; case "DataTableProc": //存储过程-FindTableByProc DataTable dtProc = DataFactory.Database().FindTableByProc(strSql.ToString(), parameter); if (!DataHelper.IsExistRows(dtProc)) { Output.Append(DataHelper.DataTableToXML(dtProc)); } else { Output.Append(ResultMsg(false, "没有找到您要的相关数据")); } break; case "DataSetProc": //存储过程-DataSetByProc DataSet dsProc = DataFactory.Database().FindDataSetByProc(strSql.ToString(), parameter); if (dsProc != null) { Output.Append(DataHelper.DataSetToXML(dsProc)); } else { Output.Append(ResultMsg(false, "没有找到您要的相关数据")); } break; case "-1": //异常信息 break; default: break; } } } catch (Exception ex) { Output.Append(ResultMsg(false, ex.Message)); } return(GZipHelper.Compress(Output.ToString())); }
private void FileExportRaw() { var path = FileDialogService.SaveFileDialog(null, null, Exporters.Filter, ".png"); if (path == null) { return; } //HelixView.Export(path); ///* Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); var ext = Path.GetExtension(path).ToLowerInvariant(); switch (ext) { case ".png": case ".jpg": HelixView.Export(path); break; case ".xaml": { var e = new XamlExporter(path); e.Export(CurrentModel); e.Close(); break; } case ".xml": { var e = new KerkytheaExporter(path); e.Export(HelixView.Viewport); e.Close(); break; } case ".obj": { var patient = new Patient(); var e = new SmileObjExporter(path); //e.Export(CurrentModel); ((SmileObjExporter)e).rawVisual = RawVisual; ((SmileObjExporter)e).Export(RawVisual, patient); e.Close(); break; } case ".objz": { var tmpPath = Path.ChangeExtension(path, ".obj"); var e = new ObjExporter(tmpPath); e.Export(CurrentModel); e.Close(); GZipHelper.Compress(tmpPath); break; } case ".x3d": { var e = new X3DExporter(path); e.Export(CurrentModel); e.Close(); break; } } showStatus(stopWatch, "Exported"); //*/ }