internal protected override void Dispose(bool disposing)
                {
                    base.Dispose(disposing || false == (ResponseStream != null && ResponseStream.CanRead));

                    if (false == ShouldDispose)
                    {
                        return;
                    }

                    //HandleDisposing(this, ds.Dispose);

                    if (Request != null)
                    {
                        Request.Abort();

                        Request = null;
                    }

                    if (ResponseStream != null)
                    {
                        ResponseStream.Dispose();

                        ResponseStream = null;
                    }

                    if (Response != null)
                    {
                        Response.Dispose();

                        Response = null;
                    }
                }
Exemple #2
0
        /// <summary>
        /// Forces the completion and loading of the remote result.
        /// </summary>
        private string DoLoadReferenceResult(System.Net.WebResponse response, string path, PDFContextBase context)
        {
            string content = string.Empty;

            try
            {
                using (var stream = response.GetResponseStream())
                {
                    using (var reader = new System.IO.StreamReader(stream))
                    {
                        content = reader.ReadToEnd();
                    }
                }
            }
            catch (Exception ex)
            {
                content = string.Empty;
                if (context.Conformance == ParserConformanceMode.Lax)
                {
                    context.TraceLog.Add(TraceLevel.Error, "HTML", "Could not load link href the response from '" + path + "'", ex);
                }
                else
                {
                    throw;
                }
            }
            finally
            {
                response.Dispose();
            }

            return(content);
        }
Exemple #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            System.Net.WebRequest r = null;
            try
            {
                r = System.Net.WebRequest.Create(textBox1.Text);
            }catch (Exception cv)
            {
                textBox2.Text = cv.Message;
                return;
            }
            r.ContentType = "text/xml";
            //r.Headers.Add("Content-Type:  application/soap+xml; charset=utf-8");
            //r.Headers.Add("Content-Length:  " + textBox2.Text.Length.ToString());
            r.Method = "POST";
            if (!String.IsNullOrWhiteSpace(textBox4.Text))
            {
                r.Headers.Add("SOAPAction: \"" + textBox4.Text + "\"");
            }
            System.IO.Stream       reqstream = r.GetRequestStream();
            System.IO.StreamWriter sw        = new System.IO.StreamWriter(reqstream);
            sw.Write(textBox2.Text);
            sw.Flush();
            try
            {
                //r.ContentLength = textBox2.Text.Length; //reqstream.Position;
                System.Net.WebResponse resp = r.GetResponse();

                System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
                textBox3.Text = sr.ReadToEnd();
                sr.Dispose();
                resp.Dispose();
            }
            catch (Exception ext)
            {
                textBox3.Text  = ext.Message + "\r\n" + ext.StackTrace;
                textBox3.Text += "\r\n";
                if (ext is System.Net.WebException)
                {
                    System.Net.WebException webex = (System.Net.WebException)ext;
                    try
                    {
                        using (System.IO.StreamReader exceptionreader = new System.IO.StreamReader(webex.Response.GetResponseStream()))
                        {
                            textBox3.Text += exceptionreader.ReadToEnd();
                        }
                    }catch (Exception ffff)
                    {
                        textBox3.Text += "\r\n Unknown Error trying to read response from Server";
                    }
                }
            }
            finally
            {
                sw.Dispose();
            }
            tabControl1.SelectedTab = tabPage2;
        }
Exemple #4
0
        /// <summary>
        /// 取得User Name, Email
        /// </summary>
        private async Task <(CloudStorageResult result, string userName, string userEmail)> GetUserInfoAsync()
        {
            string             userName = null, userEmail = null;
            CloudStorageResult result = new CloudStorageResult();

            try
            {
                System.Net.WebRequest request = System.Net.WebRequest.Create(UerInfoEndpoint + oauthClient.AccessToken);
                request.Method      = "GET";
                request.ContentType = "application/json";
                // Get the response.
                System.Net.WebResponse response = await request.GetResponseAsync();

                // Display the status.
                //Console.WriteLine(((HttpWebResponse)response).StatusDescription);
                // Get the stream containing content returned by the server.
                Stream dataStream = response.GetResponseStream();
                // Open the stream using a StreamReader for easy access.
                StreamReader reader = new StreamReader(dataStream);
                // Read the content.
                string responseFromServer = await reader.ReadToEndAsync();

                // Display the content.
                Console.WriteLine(responseFromServer);
                // Clean up the streams and the response.
                reader.Close();
                reader.Dispose();
                dataStream.Close();
                dataStream.Dispose();
                response.Close();
                response.Dispose();
                if (!string.IsNullOrEmpty(responseFromServer))
                {
                    Newtonsoft.Json.Linq.JObject jObject = Newtonsoft.Json.Linq.JObject.Parse(responseFromServer);
                    userEmail     = jObject["email"]?.ToString();
                    userName      = jObject["name"]?.ToString();
                    result.Status = Status.Success;
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }
            return(result, userName, userEmail);
        }
Exemple #5
0
        public IEnumerable <IFileEntry> List(string filename)
        {
            var req = CreateRequest(filename);

            req.Method    = System.Net.WebRequestMethods.Ftp.ListDirectoryDetails;
            req.UseBinary = false;

            System.Net.WebResponse resp = null;
            System.IO.Stream       rs   = null;
            System.IO.StreamReader sr   = null;

            try
            {
                HandleListExceptions(
                    () =>
                {
                    var areq = new Utility.AsyncHttpRequest(req);
                    resp     = areq.GetResponse();
                    rs       = areq.GetResponseStream();
                    sr       = new System.IO.StreamReader(new StreamReadHelper(rs));
                },
                    req);

                string line;
                while ((line = HandleListExceptions(() => sr.ReadLine(), req)) != null)
                {
                    FileEntry f = ParseLine(line);
                    if (f != null)
                    {
                        yield return(f);
                    }
                }
            }
            finally
            {
                try
                {
                    if (sr != null)
                    {
                        sr.Dispose();
                    }
                }
                finally
                {
                    try
                    {
                        if (rs != null)
                        {
                            rs.Dispose();
                        }
                    }
                    finally
                    {
                        if (resp != null)
                        {
                            resp.Dispose();
                        }
                    }
                }
            }
        }
Exemple #6
0
        /// <summary>
        /// 下载文件
        /// </summary>
        /// <param name="localFilePath"></param>
        /// <param name="url"></param>
        public int DownFile(string url, int threadCount)
        {
            autoEvent.WaitOne();  //阻塞当前线程,等待通知以继续执行
            //await LoadAsync(url,threadCount);


            string StrFileName = DownPath + name; //根据实际情况设置
            string StrUrl      = url;             //根据实际情况设置
            //打开上次下载的文件或新建文件
            long lStartPos = 0;

            if (System.IO.File.Exists(StrFileName))//另外如果文件已经下载完毕,就不需要再断点续传了,不然请求的range 会不合法会抛出异常。
            {
                fs        = System.IO.File.OpenWrite(StrFileName);
                lStartPos = fs.Length;
                fs.Seek(lStartPos, System.IO.SeekOrigin.Current); //移动文件流中的当前指针
            }
            else
            {
                fs        = new FileStream(StrFileName, System.IO.FileMode.Create);
                lStartPos = 0;
            }
            //打开网络连接
            try
            {
                System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(StrUrl);
                if (lStartPos > 0)
                {
                    request.AddRange((int)lStartPos); //设置Range值
                }
                request.Timeout = 20000;
                System.Net.WebResponse response = request.GetResponse();
                //向服务器请求,获得服务器回应数据流
                ns = response.GetResponseStream();
                long   totalSize   = response.ContentLength;
                long   hasDownSize = 0;
                byte[] nbytes      = new byte[1024 * 2];//521,2048 etc
                int    nReadSize   = 0;
                nReadSize = ns.Read(nbytes, 0, nbytes.Length);
                while (nReadSize > 0)
                {
                    fs.Write(nbytes, 0, nReadSize);
                    downCount++;
                    nReadSize    = ns.Read(nbytes, 0, 1024 * 2);
                    hasDownSize += nReadSize;
                }
                fs.Close();
                ns.Close();
                response.Dispose();
                //CommonsCall.Compress(downStuep, StrFileName);
                CommonsCall.DeletePath(StrFileName);
                GC.Collect();
            }
            catch (ThreadAbortException e)
            {
                Thread.Sleep(10000);
                DownFile(url, threadCount);
            }
            catch (Exception ex)
            {
                Thread.Sleep(10000);
                DownFile(url, threadCount);
            }
            finally
            {
                threadCount--;
            }
            return(threadCount);
        }