Beispiel #1
0
        /// <summary>
        /// Завершение записи выходного потока
        /// </summary>
        /// <param name="result">result - содержит manualEvent</param>
        protected virtual void EndWriteCallBack(IAsyncResult result)
        {
            ManualResetEvent me = (ManualResetEvent)result.AsyncState;

            // Console.WriteLine("Write: Off={0} bytes={1}", offset, numBytes);
            if (compressType == CompressType.Deflate)
            {
                dfStream.EndWrite(result);
            }
            else
            {
                gzStream.EndWrite(result);
            }

            if (numBytes < bufSize)
            {
                // Это последний блок
                me.Set();
            }
            else
            {
                // Читаем дальше
                result = fsStream.BeginRead(buf, 0, bufSize, new AsyncCallback(EndReadCallBack), me);
            }
            offset += bufSize;
        }
Beispiel #2
0
        private void WriteCallback(IAsyncResult ar)
        {
            GZipStream s = (GZipStream)ar.AsyncState;

            s.EndWrite(ar);
            try {
                // can we do something bad here ?
                Assert.IsNotNull(Environment.GetEnvironmentVariable("USERNAME"));
                message = "Expected a SecurityException";
            }
            catch (SecurityException) {
                message = null;
                reset.Set();
            }
            catch (Exception e) {
                message = e.ToString();
            }
        }