Exemple #1
0
        void webclient_WriteStreamClosed(object sender, WriteStreamClosedEventArgs e)
        {
            //该值指示异步操作是否已被取消
            bool Cancelled = true;

            //上传文件成功;
            if (e.Error == null)
            {
                //设置实体id
                this.BlobId = tempid;
                State       = State.Loaded;
                tempid      = null;
            }
            else
            {
                Cancelled = false;
                State     = State.LoadError;
                tempid    = null;
                Error     = e.Error.Message;
            }
            AsyncCompletedEventArgs args = new AsyncCompletedEventArgs(e.Error, Cancelled, State);

            OnCompleted(args);
            IsBusy = false;
        }
Exemple #2
0
 private void Client_WriteStreamClosed(object sender, WriteStreamClosedEventArgs e)
 {
     if (++load < uploadAttachs.Count)
     {
         StartUpload();
     }
     else
     {
         IsBusy = false;
         CloseRequest.Raise();
     }
 }
        private void OnWriteCompleted(object sender, WriteStreamClosedEventArgs e)
        {
            if (FileStream.Position >= (FileStream.Length - 1))
            {
                if (UploadProgressCompleted != null)
                {
                    UploadProgressCompleted(this, new EventArgs());
                }
                return;
            }

            if (UploadProgressChanged != null)
            {
                var percentage = FileStream.Position * 100 / (FileStream.Length - 1);
                UploadProgressChanged(this, new ProgressChangedEventArgs((int)percentage, string.Format("Currently uploading the following file - '{0}'", _filename)));
            }

            UploadFile(e.Error != null);
        }
Exemple #4
0
            private void writeStreamClosed(object sender, WriteStreamClosedEventArgs e)
            {
                try
                {
                    if (e.Error != null)
                    {
                        throw e.Error;
                    }

                    var headers = new Dictionary <string, string>();
                    if (this.httpWebResponse == null)
                    {
                        string content = @"{""success"":true}";
                        headers["Content-Type"]   = "application/json";
                        headers["Content-Length"] = content.Length.ToString();
                        response = Response.Create(HttpStatusCode.OK, content, headers);
                    }
                    else
                    {
                        if (this.httpWebResponse.Headers != null)
                        {
                            foreach (var h in this.httpWebResponse.Headers.AllKeys)
                            {
                                headers.Add(h, this.httpWebResponse.Headers[h]);
                            }
                        }
                        response = Response.Create(this.httpWebResponse.StatusCode, "true", headers);
                    }
                }
                catch (Exception)
                {
                    throw;
                }
                finally
                {
                    allDone.Set();
                }
            }
Exemple #5
0
 void c_WriteStreamClosed(object sender, WriteStreamClosedEventArgs e)
 {
     throw new NotImplementedException();
 }
Exemple #6
0
        /// <summary>
        /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed.
        /// <example>
        /// writestreamclosedeventhandler.BeginInvoke(sender, e, callback);
        /// </example>
        /// </summary>
        public static IAsyncResult BeginInvoke(this WriteStreamClosedEventHandler writestreamclosedeventhandler, Object sender, WriteStreamClosedEventArgs e, AsyncCallback callback)
        {
            if (writestreamclosedeventhandler == null)
            {
                throw new ArgumentNullException("writestreamclosedeventhandler");
            }

            return(writestreamclosedeventhandler.BeginInvoke(sender, e, callback, null));
        }
Exemple #7
0
 private void Client_WriteStreamClosed(object sender, WriteStreamClosedEventArgs e)
 {
     InitData();
     MessageBox.Show("上传成功");
 }