Exemple #1
0
 public TransportClass2(TransportClass1 oTransportClass1, Dictionary <string, string> oMediaXmlMapHash, Dictionary <string, string> oMediaXmlMapFilename, AsyncContextReadOperation oAsyncContextReadOperation)
     : base(oTransportClass1, oTransportClass1.m_oAsyncMediaXmlOperation, oTransportClass1.m_aInputParams, oTransportClass1.m_aUrls, oTransportClass1.m_sKey, oTransportClass1.m_sMediaXml, oTransportClass1.m_oFiles, oTransportClass1.m_oFilesEnumerator)
 {
     m_oMediaXmlMapHash           = oMediaXmlMapHash;
     m_oMediaXmlMapFilename       = oMediaXmlMapFilename;
     m_oAsyncContextReadOperation = oAsyncContextReadOperation;
 }
Exemple #2
0
        private void GetMediaXmlCallbackProcess(TransportClass1 oTransportClass1, Dictionary <string, string> aMediaXmlMapHash, Dictionary <string, string> aMediaXmlMapFilename)
        {
            AsyncContextReadOperation oAsyncContextReadOperation = new AsyncContextReadOperation();
            TransportClass2           oTransportClass2           = new TransportClass2(oTransportClass1, aMediaXmlMapHash, aMediaXmlMapFilename, oAsyncContextReadOperation);
            HttpPostedFile            oCurrentFile = (HttpPostedFile)oTransportClass1.m_oFiles[(string)oTransportClass1.m_oFilesEnumerator.Current];

            oCurrentFile.InputStream.Position = 0;
            oAsyncContextReadOperation.ReadContextBegin(oCurrentFile.InputStream, ReadContextCallback, oTransportClass2);
        }
Exemple #3
0
 public TransportClass(HttpContext oContext, AsyncCallback oCallback, Storage oStorage, AsyncContextReadOperation oAsyncContextRead, string sPath, string sDeletePath, string sFilename)
 {
     m_oContext          = oContext;
     m_oCallback         = oCallback;
     m_oStorage          = oStorage;
     m_oAsyncContextRead = oAsyncContextRead;
     m_sPath             = sPath;
     m_sDeletePath       = sDeletePath;
     m_sFilename         = sFilename;
 }
Exemple #4
0
        public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
        {
            bool       bStartAsync = false;
            ErrorTypes eError      = ErrorTypes.Unknown;

            try
            {
                _log.Info("Starting process request...");
                _log.Info(context.Request.QueryString.ToString());

                string vKey = context.Request.QueryString["vkey"];
                string sKey = context.Request.QueryString["key"];

                if (null != sKey && false == string.IsNullOrEmpty(sKey))
                {
                    eError = ErrorTypes.NoError;

                    if (ErrorTypes.NoError == eError)
                    {
                        bStartAsync = true;
                        Storage oStorage  = new Storage();
                        string  sTempKey  = "temp_" + sKey;
                        string  sFilename = sKey + ".tmp";
                        string  sPath     = sTempKey + "/" + sFilename;
                        AsyncContextReadOperation asynch          = new AsyncContextReadOperation();
                        TransportClass            oTransportClass = new TransportClass(context, cb, oStorage, asynch, sPath, sTempKey, sFilename);
                        asynch.ReadContextBegin(context.Request.InputStream, ReadContextCallback, oTransportClass);
                    }
                }
            }
            catch (Exception e)
            {
                eError = ErrorTypes.Unknown;

                _log.Error(context.Request.QueryString.ToString());
                _log.Error("Exeption: ", e);
            }
            finally
            {
                if (ErrorTypes.NoError != eError)
                {
                    writeXml(context, null, null, null, eError);
                }
            }

            TransportClass oTempTransportClass = new TransportClass(context, cb, null, null, null, null, null);

            if (false == bStartAsync)
            {
                cb(new AsyncOperationData(oTempTransportClass));
            }
            return(new AsyncOperationData(oTempTransportClass));
        }