public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) { TransportClassMainAshx oTransportClassMainAshx = new TransportClassMainAshx(context, cb); ErrorTypes eError = ErrorTypes.NoError; try { _log.Info("Starting process request..."); _log.Info(context.Request.QueryString.ToString()); InputParams oInputParams = new InputParams(); oInputParams.m_sKey = context.Request.QueryString["key"]; oInputParams.m_svKey = context.Request.QueryString["vkey"]; oInputParams.m_sUrl = context.Request.QueryString["url"]; oInputParams.m_sEmbeddedfonts = context.Request.QueryString["embeddedfonts"]; int nIndexSep = oInputParams.m_sUrl.IndexOf(','); if (-1 != nIndexSep) oInputParams.m_sUrl = oInputParams.m_sUrl.Substring(0, nIndexSep); oInputParams.m_sTitle = context.Request.QueryString["title"]; if (string.IsNullOrEmpty(oInputParams.m_sTitle)) oInputParams.m_sTitle = "convert"; oInputParams.m_sFiletype = context.Request.QueryString["filetype"]; oInputParams.m_nOutputtype = FileFormats.FromString(context.Request.QueryString["outputtype"]); oInputParams.m_bAsyncConvert = Convert.ToBoolean(context.Request.QueryString["async"]); oInputParams.m_sCodepage = context.Request.QueryString["codePage"]; oInputParams.m_sDelimiter = context.Request.QueryString["delimiter"]; if (ErrorTypes.NoError == eError) { ITaskResultInterface oTaskResult = TaskResult.NewTaskResult(); TaskResultData oToAdd = new TaskResultData(); oInputParams.m_sKey = "conv_" + oInputParams.m_sKey; oToAdd.sKey = oInputParams.m_sKey; oToAdd.sFormat = oInputParams.m_sFiletype; oToAdd.eStatus = FileStatus.WaitQueue; oToAdd.sTitle = oInputParams.m_sTitle; TransportClass1 oTransportClass1 = new TransportClass1(oTransportClassMainAshx, oTaskResult, new CTaskQueue(), oInputParams); oTaskResult.GetOrCreateBegin(oInputParams.m_sKey, oToAdd, GetOrCreateCallback, oTransportClass1); } } catch(Exception e) { eError = ErrorTypes.Unknown; _log.Error(context.Request.QueryString.ToString()); _log.Error("Exeption: ", e); } finally { if( ErrorTypes.NoError != eError ) WriteOutputCommand(oTransportClassMainAshx, new OutputCommand(null, null, null, eError)); } return new AsyncOperationData(extraData); }
public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) { TransportClassMainAshx oTransportClassMainAshx = new TransportClassMainAshx(context, cb); ErrorTypes eError = ErrorTypes.NoError; try { _log.Info("Starting process request..."); _log.Info(context.Request.QueryString.ToString()); string sGuid = context.Request.QueryString["key"]; int nMaxBytes = Convert.ToInt32(ConfigurationSettings.AppSettings["limits.image.size"] ?? "25000000"); if (context.Request.ContentLength <= nMaxBytes) { if (context.Request.Files.Count > 0) { int nParamsCount = 0; string sInputParams = ""; for (int i = 0, length = context.Request.QueryString.Count; i < length; ++i) { sInputParams += context.Request.QueryString.Get(i) + ":" + context.Request.QueryString.GetKey(i); if (nParamsCount > 0) sInputParams += ","; nParamsCount++; } AsyncMediaXmlOperation oAsyncMediaXmlOperation = new AsyncMediaXmlOperation(); List<string> aUrls = new List<string>(); TransportClass1 oTransportClass1 = new TransportClass1(oTransportClassMainAshx, oAsyncMediaXmlOperation, context.Request.QueryString, aUrls, sGuid, Path.Combine(sGuid, @"media/media.xml"), context.Request.Files, context.Request.Files.GetEnumerator()); oAsyncMediaXmlOperation.GetMediaXmlBegin(oTransportClass1.m_sMediaXml, GetMediaXmlCallback, oTransportClass1); } else eError = ErrorTypes.UploadCountFiles; } else eError = ErrorTypes.UploadContentLength; } catch(Exception e) { eError = ErrorTypes.Upload; _log.Error(context.Request.QueryString.ToString()); _log.Error("Exeption: ", e); } if (ErrorTypes.NoError != eError) WriteToResponse(oTransportClassMainAshx, eError, null, context.Request.QueryString); return new AsyncOperationData(extraData); }
public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) { TransportClassMainAshx oTransportClassMainAshx = new TransportClassMainAshx(context, cb); AsyncContextReadOperation asynch = new AsyncContextReadOperation(); TransportClassContextRead oTransportClassContextRead = new TransportClassContextRead(oTransportClassMainAshx, asynch); try { asynch.ReadContextBegin(context.Request.InputStream, ReadContext, oTransportClassContextRead); } catch(Exception e) { OutputCommand oOutputCommand = new OutputCommand(ErrorTypes.Unknown); WriteOutputCommand(new TransportClassMainAshx(context, cb), oOutputCommand); _log.Error("Exception catched in BeginProcessRequest:", e); } return new AsyncOperationData(extraData); }
public TransportClassStorage3(TransportClassMainAshx oTransportClassMainAshx, InputCommand oInputCommand, Storage oStorage, Stream stream, string sKey, TransportClassSaveChanges2 oSaveChanges2) : base(oTransportClassMainAshx, oInputCommand, oStorage, stream, sKey) { m_oSaveChanges2 = oSaveChanges2; }
public TransportClassStorage2(TransportClassMainAshx oTransportClassMainAshx, InputCommand oInputCommand, Storage oStorage, Stream stream, string sKey, string sFilename, string sExt, OutputCommand oOutputCommand) : base(oTransportClassMainAshx, oInputCommand, oStorage, stream, sKey) { m_sFilename = sFilename; m_sExt = sExt; m_oOutputCommand = oOutputCommand; }
public TransportClassStorage(TransportClassMainAshx oTransportClassMainAshx, InputCommand oInputCommand, Storage oStorage, Stream stream, string sKey) : base(oTransportClassMainAshx.m_oHttpContext, oTransportClassMainAshx.m_oAsyncCallback) { m_oInputCommand = oInputCommand; m_oStorage = oStorage; m_oStream = stream; m_sKey = sKey; }
public TransportClassTaskResult(TransportClassMainAshx oTransportClassMainAshx, InputCommand oInputCommand, ITaskResultInterface oTaskResult) : base(oTransportClassMainAshx.m_oHttpContext, oTransportClassMainAshx.m_oAsyncCallback) { m_oInputCommand = oInputCommand; m_oTaskResult = oTaskResult; }
public TransportClassContextRead(TransportClassMainAshx m_oTransportClassMainAshx, AsyncContextReadOperation oAsyncContextReadOperation) : base(m_oTransportClassMainAshx.m_oHttpContext, m_oTransportClassMainAshx.m_oAsyncCallback) { m_oAsyncContextReadOperation = oAsyncContextReadOperation; }
public TransportClassSaveChanges2(TransportClassMainAshx oTransportClassMainAshx) : base(oTransportClassMainAshx.m_oHttpContext, oTransportClassMainAshx.m_oAsyncCallback) { }
public TransportClass1(TransportClassMainAshx oTransportClassMainAshx, AsyncMediaXmlOperation oAsyncMediaXmlOperation, NameValueCollection aInputParams, List<string> aUrls, string sKey, string sMediaXml, HttpFileCollection oFiles, IEnumerator oFilesEnumerator) : base(oTransportClassMainAshx.m_oHttpContext, oTransportClassMainAshx.m_oAsyncCallback) { m_oAsyncMediaXmlOperation = oAsyncMediaXmlOperation; m_aInputParams = aInputParams; m_sKey = sKey; m_oFiles = oFiles; m_oFilesEnumerator = oFilesEnumerator; m_sMediaXml = sMediaXml; m_aUrls = aUrls; }
private void WriteToResponse(TransportClassMainAshx oTransportClassMainAshx, ErrorTypes eError, List<string> aUrls, NameValueCollection aNameValueCollection) { HttpContext oHttpContext = oTransportClassMainAshx.m_oHttpContext; AsyncCallback oAsyncCallback = oTransportClassMainAshx.m_oAsyncCallback; OutputCommand oOutputCommand = new OutputCommand(); if (null != aNameValueCollection) { for (int i = 0, length = aNameValueCollection.Count; i < length; ++i) oOutputCommand.input.Add(aNameValueCollection.GetKey(i), aNameValueCollection.Get(i)); } oOutputCommand.urls = aUrls; oOutputCommand.error = (int)eError; oOutputCommand.type = (int)PostMessageType.UploadImage; JavaScriptSerializer serializer = new JavaScriptSerializer(); StringBuilder sb = new StringBuilder(); serializer.Serialize(oOutputCommand, sb); string sJson = sb.ToString(); oHttpContext.Response.Write("<html><head><script type=\"text/javascript\">function load(){ parent.postMessage(\"" + sJson.Replace("\"", "\\\"") + "\", '*'); }</script></head><body onload='load()'></body></html>"); oAsyncCallback.Invoke(new AsyncOperationData(null)); }
public TransportClass2(TransportClassMainAshx oTransportClassMainAshx, AsyncClearCacheOperation oAsyncClearCacheOperation, ErrorTypes eError) : base(oTransportClassMainAshx.m_oHttpContext, oTransportClassMainAshx.m_oAsyncCallback) { m_oAsyncClearCacheOperation = oAsyncClearCacheOperation; m_eError = eError; }
public TransportClass1(TransportClassMainAshx oTransportClassMainAshx, ITaskResultInterface oTaskResult, CTaskQueue oTaskQueue, InputParams oInputParams) : base(oTransportClassMainAshx.m_oHttpContext, oTransportClassMainAshx.m_oAsyncCallback) { m_oTaskResult = oTaskResult; m_oInputParams = oInputParams; m_oTaskQueue = oTaskQueue; m_oTimer = null; }
private void WriteOutputCommand(TransportClassMainAshx oTransportClassMainAshx, OutputCommand oOutputCommand) { HttpContext oHttpContext = oTransportClassMainAshx.m_oHttpContext; AsyncCallback fAsyncCallback = oTransportClassMainAshx.m_oAsyncCallback; oHttpContext.Response.ContentType = "text/xml"; oHttpContext.Response.Charset = "UTF-8"; string sXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><FileResult>"; if (null != oOutputCommand.m_sFileUrl) sXml += string.Format("<FileUrl>{0}</FileUrl>", HttpUtility.HtmlEncode(oOutputCommand.m_sFileUrl)); if (null != oOutputCommand.m_sPercent) sXml += string.Format("<Percent>{0}</Percent>", oOutputCommand.m_sPercent); if (true == oOutputCommand.m_bIsEndConvert.HasValue) sXml += string.Format("<EndConvert>{0}</EndConvert>", oOutputCommand.m_bIsEndConvert.Value.ToString()); if (ErrorTypes.NoError != oOutputCommand.m_eError) sXml += string.Format("<Error>{0}</Error>", Utils.mapAscServerErrorToOldError(oOutputCommand.m_eError).ToString()); sXml += "</FileResult>"; oHttpContext.Response.Write(sXml); fAsyncCallback.Invoke(new AsyncOperationData(null)); }
public TransportClassTaskQueue(TransportClassMainAshx oTransportClassMainAshx, CTaskQueue oTaskQueue, object oParam) : base(oTransportClassMainAshx.m_oHttpContext, oTransportClassMainAshx.m_oAsyncCallback) { m_oTaskQueue = oTaskQueue; m_oParam = oParam; }
private void WriteOutputCommand(TransportClassMainAshx oTransportClassMainAshx, OutputCommand oOutputCommand) { HttpContext oHttpContext = oTransportClassMainAshx.m_oHttpContext; AsyncCallback fAsyncCallback = oTransportClassMainAshx.m_oAsyncCallback; oHttpContext.Response.ContentType = "text/plain"; string sJson = new JavaScriptSerializer().Serialize(oOutputCommand); byte[] aJsonUtf8 = Encoding.UTF8.GetBytes(sJson); oHttpContext.Response.OutputStream.Write(aJsonUtf8, 0, aJsonUtf8.Length); fAsyncCallback.Invoke(new AsyncOperationData(null)); }
public TransportClassMediaXml(TransportClassMainAshx m_oTransportClassMainAshx, InputCommand oInputCommand, AsyncMediaXmlOperation oAsyncMediaXmlOperation, object oParam) : base(m_oTransportClassMainAshx.m_oHttpContext, m_oTransportClassMainAshx.m_oAsyncCallback) { m_oAsyncMediaXmlOperation = oAsyncMediaXmlOperation; m_oInputCommand = oInputCommand; m_oParam = oParam; }
private void OpenCommand(TransportClassMainAshx oTransportClassMainAshx, InputCommand cmd) { try { TaskResultData oTaskResultData = new TaskResultData(); oTaskResultData.sKey = cmd.id; if (false == string.IsNullOrEmpty(cmd.format)) oTaskResultData.sFormat = cmd.format; oTaskResultData.eStatus = FileStatus.WaitQueue; if (false == string.IsNullOrEmpty(cmd.title)) oTaskResultData.sTitle = cmd.title; ITaskResultInterface oTaskResult = TaskResult.NewTaskResult(); TransportClassTaskResult oTransportClassClearCache = new TransportClassTaskResult(oTransportClassMainAshx, cmd, oTaskResult); oTaskResult.GetOrCreateBegin(cmd.id, oTaskResultData, TaskResultGetOrCreateCallback, oTransportClassClearCache); } catch { WriteOutputCommand(oTransportClassMainAshx, new OutputCommand(ErrorTypes.Unknown)); } }
public TransportClassInfo(TransportClassMainAshx oTransportClassMainAshx, string[] aKeys, ITaskResultInterface oTaskResult) : base(oTransportClassMainAshx.m_oHttpContext, oTransportClassMainAshx.m_oAsyncCallback) { m_aKeys = aKeys; m_oTaskResult = oTaskResult; }
private void TaskResultGetProcess(TaskResultData oTaskInfo, bool bDataCreate, InputCommand cmd, TransportClassMainAshx oTransportClassMainAshx) { switch (oTaskInfo.eStatus) { case FileStatus.Ok: { string sAffiliateId = null; Signature.getVKeyStringParam(cmd.vkey, ConfigurationSettings.AppSettings["keyKeyID"], out sAffiliateId); if (null != sAffiliateId) { string sTag = null; switch (cmd.editorid) { case (int)LicenseInfo.EditorType.Spreadsheet: sTag = "open_sheet"; break; case (int)LicenseInfo.EditorType.Presentation: sTag = "open_presentation"; break; default: sTag = "open_word"; break; } FileConverterUtils2.FileStatistic oFileStat = new FileStatistic(); oFileStat.insert(sAffiliateId, cmd.id, DateTime.UtcNow, sTag); } ITaskResultInterface oTaskResult = TaskResult.NewTaskResult(); TransportClassTaskResult oTransportClassTaskResult = new TransportClassTaskResult( oTransportClassMainAshx, cmd, oTaskResult); string sOutputCommand = ("create" == cmd.c)? "create": "open"; WriteOutputCommand(oTransportClassTaskResult, new OutputCommand(sOutputCommand, cmd.id + "/Editor.bin")); } break; case FileStatus.Convert: case FileStatus.WaitQueue: { if (bDataCreate) { AddTask(cmd, oTransportClassMainAshx); } else { WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("waitopen", oTaskInfo.nStatusInfo.ToString())); } } break; case FileStatus.None: { if (bDataCreate) { TaskResultDataToUpdate oToUpdate = new TaskResultDataToUpdate(); oToUpdate.eStatus = FileStatus.WaitQueue; ITaskResultInterface oTaskResult = TaskResult.NewTaskResult(); TransportClassTaskResult oTransportClassTaskResult = new TransportClassTaskResult(oTransportClassMainAshx, cmd, oTaskResult); oTaskResult.UpdateBegin(cmd.id, oToUpdate, TaskResultUpdateCallback, oTransportClassTaskResult); } else { WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("waitopen", oTaskInfo.nStatusInfo.ToString())); } } break; case FileStatus.NeedParams: string sUrl = Constants.mc_sResourceServiceUrlRel + HttpUtility.UrlEncode(cmd.id + "/settings.json"); WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("needparams", sUrl)); break; case FileStatus.ErrToReload: { AsyncClearCacheOperation oAsyncClearCacheOperation = new AsyncClearCacheOperation(); TransportClassClearCache oTempTransportClassClearCache = new TransportClassClearCache(oTransportClassMainAshx, cmd, oAsyncClearCacheOperation, oTaskInfo.nStatusInfo); oAsyncClearCacheOperation.ClearCacheBegin(cmd.id, TaskResultRemoveCallback2, oTempTransportClassClearCache); } break; case FileStatus.Err: WriteOutputCommand(oTransportClassMainAshx, new OutputCommand((ErrorTypes)oTaskInfo.nStatusInfo)); break; case FileStatus.SaveVersion: { if (cmd.viewmode) WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("updateversion", cmd.id + "/Editor.bin")); else { ITaskResultInterface oTaskResult = TaskResult.NewTaskResult(); TaskResultDataToUpdate oTask = new TaskResultDataToUpdate(); oTask.eStatus = FileStatus.Ok; TaskResultDataToUpdate oMask = new TaskResultDataToUpdate(); oMask.eStatus = FileStatus.SaveVersion; TransportClassTaskResult oTransportClassTaskResult = new TransportClassTaskResult(oTransportClassMainAshx, cmd, oTaskResult); oTaskResult.UpdateIfBegin(cmd.id, oMask, oTask, TaskResultUpdateIfCallback2, oTransportClassTaskResult); } } break; case FileStatus.UpdateVersion: WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("updateversion", cmd.id + "/Editor.bin")); break; default: WriteOutputCommand(oTransportClassMainAshx, new OutputCommand(ErrorTypes.Unknown)); break; } }
private void AddTask(InputCommand cmd, TransportClassMainAshx oTransportClassMainAshx) { try { int nToFormat = FileFormats.AVS_OFFICESTUDIO_FILE_CANVAS; TaskQueueData oTaskQueueData = new TaskQueueData(cmd.id, nToFormat, "Editor.bin"); oTaskQueueData.m_sFromUrl = cmd.url; oTaskQueueData.m_sFromFormat = cmd.format; if (cmd.codepage.HasValue) oTaskQueueData.m_nCsvTxtEncoding = cmd.codepage.Value; if (cmd.delimiter.HasValue) oTaskQueueData.m_nCsvDelimiter = cmd.delimiter.Value; oTaskQueueData.m_bEmbeddedFonts = false; CTaskQueue oTaskQueue = new CTaskQueue(); TransportClassTaskQueue oTransportClassTaskQueue = new TransportClassTaskQueue(oTransportClassMainAshx, oTaskQueue, null); oTaskQueue.AddTaskBegin(oTaskQueueData, Priority.High, TaskQueueAddCallback, oTransportClassTaskQueue); WriteOutputCommand(oTransportClassTaskQueue, new OutputCommand("waitopen", "0")); } catch { WriteOutputCommand(oTransportClassMainAshx, new OutputCommand(ErrorTypes.Unknown)); } }
public TransportClassContextRead(TransportClassMainAshx m_oTransportClassMainAshx, AsyncContextReadOperation oAsyncContextReadOperation) : base(m_oTransportClassMainAshx.m_oHttpContext, m_oTransportClassMainAshx.m_oAsyncCallback) { m_oAsyncContextReadOperation = oAsyncContextReadOperation; }