public IAsyncResult BeginInitialize(AsyncCallback callback, object state)
        {
            var asyncResult = new Colosoft.Threading.AsyncResult(callback, state);

            if (callback != null)
            {
                callback(asyncResult);
            }
            return(asyncResult);
        }
示例#2
0
        public IAsyncResult BeginReload(Colosoft.Reflection.TypeName[] typeNames, AsyncCallback callback, object state)
        {
            var asyncResult = new Colosoft.Threading.AsyncResult <RealoadDataCacheResult>(callback, state);
            var args        = new object[] {
                typeNames,
                asyncResult
            };

            if (!System.Threading.ThreadPool.QueueUserWorkItem(DoReload, args))
            {
                DoReload(args);
            }
            return(asyncResult);
        }
示例#3
0
        public IAsyncResult BeginUpload(AsyncCallback callback, object state)
        {
            foreach (var i in Items)
            {
                i.NumberBytesSent = 0;
            }
            _progressTimer.Reset();
            _progressTimer.Start();
            _cancelRequested = false;
            var asyncResult = new Colosoft.Threading.AsyncResult <Colosoft.Net.UploaderOperationResult>(callback, state);

            if (!System.Threading.ThreadPool.QueueUserWorkItem(DoUpload, asyncResult))
            {
                DoUpload(asyncResult);
            }
            return(asyncResult);
        }
示例#4
0
        public IAsyncResult BeginInitialize(AsyncCallback callback, object state)
        {
            var asyncResult = new Colosoft.Threading.AsyncResult(callback, state);

            if (!System.Threading.ThreadPool.QueueUserWorkItem(e => {
                var asyncResult2 = (Colosoft.Threading.AsyncResult)e;
                try
                {
                    Initialize();
                }
                catch (Exception ex)
                {
                    asyncResult2.Completed(ex, false);
                    return;
                }
                asyncResult2.Completed(null, false);
            }, asyncResult))
            {
                callback(asyncResult);
            }
            return(asyncResult);
        }