• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#同步、异步远程下载文件实例

C#同步、异步远程下载文件实例

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#socket异步通信实例,c#socket异步通信,c#udp异步通信,c#同步异步,c#tcp异步通信等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1、使用HttpWebRequest/HttpWebResonse和WebClient

if (!response.ContentType.ToLower().StartsWith("text/"))
{
    //Value = SaveBinaryFile(response, FileName);
    byte[] buffer = new byte[1024];
    Stream outStream = System.IO.File.Create(FileName);
    Stream inStream = response.GetResponseStream();

    int l;
    do
    {
        l = inStream.Read(buffer, 0, buffer.Length);
        if (l > 0)
            outStream.Write(buffer, 0, l);
    }
    while (l > 0);

    outStream.Close();
    inStream.Close();
}
</div>

2、使用WebClient

3、异步下载例子

            #region 分析计时开始

            count = 0;
            count1 = 0;
            freq = 0;
            result = 0;

            QueryPerformanceFrequency(ref freq);
            QueryPerformanceCounter(ref count);

            #endregion

            using (WebClient wClient = new WebClient())
            {
                AutoResetEvent waiter = new AutoResetEvent(false);
                wClient.Credentials = CredentialCache.DefaultCredentials;
                wClient.DownloadDataCompleted += new DownloadDataCompletedEventHandler(AsyncURIAnalyze);
                wClient.DownloadDataAsync(new Uri(uriString), waiter);
                waiter.WaitOne();    阻止当前线程,直到收到信号
            }

        }

        ///summary
        ///异步分析
        ///summary
        protected void AsyncURIAnalyze(Object sender, DownloadDataCompletedEventArgs e)
        {
            AutoResetEvent waiter = (AutoResetEvent)e.UserState;
            try
            {
                if (!e.Cancelled && e.Error == null)
                {

                    string dnDir = string.Empty;
                    string domainName = string.Empty;
                    string uri = uriString;

                    获得域名 [url]httpwww.sina.com[url]
                    Match match = Regex.Match(uri, @((http(s)))+[w-.]+[^]);, RegexOptions.IgnoreCase
                    domainName = match.Value;

                    获得域名最深层目录 [url]httpwww.sina.commail[url]
                    if (domainName.Equals(uri))
                        dnDir = domainName;
                    else
                        dnDir = uri.Substring(0, uri.LastIndexOf(''));

                    dnDir += '';

                    获取数据
                    string pageData = Encoding.UTF8.GetString(e.Result);
                    Liststring urlList = new Liststring();

                    匹配全路径
                    match = Regex.Match(pageData, @((http(s)))+((()+[w-.]+()))+[w-.]+.+( + ImageType + )); , RegexOptions.IgnoreCase
       &n

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#使用系统方法发送异步邮件完整实例
  • C#异步委托调用实例分析
  • C#中异步Socket通信编程代码实例
  • C# Socket网络编程实例
  • C#基础之异步调用实例教程
  • C#之Socket操作类实例解析
  • C#同步、异步远程下载文件实例
  • C#同步和异步调用方法实例
  • 使用异步方式调用同步方法(实例详解)

相关文章

  • 2017-05-28C#编程实现动态改变配置文件信息的方法
  • 2017-05-28Dynamic和Var的区别及dynamic使用详解
  • 2017-05-28C#统计字符串里中文汉字个数的方法
  • 2017-05-28C#自定读取配置文件类实例
  • 2017-05-28C#短时间内产生大量不重复的随机数
  • 2017-05-28利用thrift实现js与C#通讯的实例代码
  • 2017-05-28基于C#方法重载的总结详解
  • 2017-05-28C# 汉字转拼音实例(支持GB2312字符集中所有汉字)
  • 2017-05-28Visual C#类的定义及实现方法实例解析
  • 2017-05-28C# 中的??操作符浅谈

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#操作PowerPoint的方法
    • 解析美国东部时间与北京时间相互转换的实现代码
    • C#实现DataTable,List和Json转换的方法
    • C#实现图片放大功能的按照像素放大图像方法
    • C#调用Rar文件及获取Rar返回值的方法
    • C#图像处理之头发检测的方法
    • c#的dataset离线数据集示例
    • Dictionary扩展基础类向字典中添加键和值
    • 关于ASP网页无法打开的解决方案
    • 关于javascript冒泡与默认事件的使用详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有