测试两种方法获取状态码,对比发现HttpWebRequest 耗时2330ms,socket耗时608ms,相差差不多4倍.over
月度归档: 2016 年 2 月
C#中FormClosing与FormClosed的区别详细解析_C#教程_脚本之家
FormClosing事件
在窗体关闭时,FormClosing事件发生。此事件会得到处理。从而释放与窗体相关的所有资源。
如果取消此事件,则窗体仍然保持打开状态。
当窗体显示为模式对话框时,单击“关闭”会隐藏窗体并将DialogResult属性设为Cancel。
通过在些事件中设置DialogResult属性可以在用户单击右上角关闭按钮时重写DialogResult的值。
FormClosed事件
在用户或Application类的Close方法或Exit方法关闭窗体后,会发生FormClosed事件。
可以使用此事件释放窗体的一些资源。还可以使用此事件保存输入窗体中的一些信息或者更新父窗体。
WebClient vs HttpClient – thankplus – 博客频道 – CSDN.NET
WebClient |
HttpClient
Available in older version of .NET
.NET 4.5 only. Created to support the growing need of the Web API REST calls
WinRT applications cannot use WebClient
HttpClient can be used with WinRT
Provides progress reporting for downloads.
No progress reporting for downloads.
Does not reuse resolved DNS, configured-cookies.
Can resuse resolved DNS, cookie configuration and other authentication.
You need to new up a WebClient to make concurrent request.
Single HttpClient can make concurrent requests.
Thin layer over WebRequest and WebResponse
Thin layer over HttpWebRequest and HttpWebResponse
Mocking and testing WebClient is difficult
Mocking and testing HttpClient is easy
Supports FTP.
No support for FTP.
Both synchronous and Asynchronous methods are available for IO bound requests.
All IO bound methods in HTTPClient are asynchronous.
原文地址:http://blogs.k10world.com/technology/webclient-httpclient-consume-http-requests/
黄聪:C#中PictureBox异步加载图片 – 黄聪 – 博客园
void Button1Click(object sender, EventArgs e)
{
//图片异步加载完成后的处理事件
pictureBox1.LoadCompleted += new AsyncCompletedEventHandler(pictureBox1_LoadCompleted);
//图片加载时,显示等待光标
pictureBox1.UseWaitCursor = true;
//采用异步加载方式
pictureBox1.WaitOnLoad = false;
//开始异步加载,图片的地址,请自行更换
pictureBox1.LoadAsync(“http://www.zu14.cn/wp-content/uploads/2009/02/image14.png“);
}
void pictureBox1_LoadCompleted(object sender, AsyncCompletedEventArgs e)
{
//图片加载完成后,将光标恢复
pictureBox1.UseWaitCursor = false;
}
来源URL:http://www.cnblogs.com/huangcong/archive/2010/03/26/1697091.html
C#中PictureBox异步加载图片 – 性别男、爱好女 – 博客频道 – CSDN.NET
蛮不错的异步加载图片的demo 继续阅读“C#中PictureBox异步加载图片 – 性别男、爱好女 – 博客频道 – CSDN.NET”
C# 中 async/await 调用传统 Begin/End 异步方法 – dudu – 博客园
最近在改进园子的图片上传程序,希望实现用户上传图片时同时将图片文件保存在三个地方:1)服务器本地硬盘;2)又拍云;3)阿里云OSS。并且在保存时使用异步操作。
对于异步保存到本地硬盘,只需用 Steam.CopyToAsync() 将上传文件流异步复制到 FileStream 即可。
对于异步保存至又拍云,只要借助 WebRequest.GetRequestStreamAsync() + Steam.CopyToAsync() 就可以实现。
而阿里云OSS提供了 .NET SDK,使用起来很方便,但是之前并没有提供异步接口,成为异步化的一个障碍。 继续阅读“C# 中 async/await 调用传统 Begin/End 异步方法 – dudu – 博客园”
.NET(C#):await返回Task的async方法_幽灵学院 – 中国最权威的网络安全门户网站!
众所周知,async方法只可以返回void,Task和Task<T>。对于返回void的async方法,它并不是awaitable,所以其他方法不能用await方法来调用它,而返回Task的async方法则可以。
那么当async方法返回Task后,接着await,那被await的Task是一个什么概念?是async方法中第一个被await的Task?不,它代表目标async方法的全部执行,其中包括被await分割的连接Task,但是不包括非await造成的多线程执行。 继续阅读“.NET(C#):await返回Task的async方法_幽灵学院 – 中国最权威的网络安全门户网站!”
C#中async编程完全代替了Task了吗_百度知道
async会和当前线程的SychronizeContext关联,在Web和UI上面的表现某些情况会和Console的不一致。(例如一个async任务的Task上调用.Wait(),Web和UI会死锁而Console不会) 而Task.Run无论在哪里都是默认使用ThreadPool的SynchronizeContext,在Web和UI和Console上的表现一致。 所以不能说async完全替代了Task,Task是作为TPL(Task Parallel Library,并行任务库)的一员,具有比async/await关键字更高的可控性。
提问者评价
现在才发现这两个其实并不冲突。在把一个普通方法包装成一个异步方法的时候,这两个东西需要一起使用
C#——如何使tableLayoutPanel 不闪烁 – 无忧的日志 – 网易博客
//设置tablelayoutpanel控件的DoubleBuffered 属性为true,这样可以减少或消除由于不断重绘所显示图面的某些部分而导致的闪烁
tableLayoutPanel1.GetType().GetProperty(“DoubleBuffered”, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).SetValue(tableLayoutPanel1, true, null);
来源URL:http://blog.163.com/gaofang0430211@126/blog/static/183672082011101143442133/
c# tabcontrol 点击不同的tabpage 触发不同的事件_官林辉_新浪博客
在tabcontrol1上有四个tabpage页,即tabPage1,tabPage2,tabPage3,tabPage4,我想点击tabPage3时,弹出一个窗体,进行相关的设置!开始不会,在网上搜点资料,就知道如何用了,和大家分享一下的! 继续阅读“c# tabcontrol 点击不同的tabpage 触发不同的事件_官林辉_新浪博客”
总结C#启动外部程序的几种方法
C#制作视频播放器-player播放器组件-C#视频教程-C#论坛-C#教程-C#源码
在C# winform中播放视频,好多新手想学下,还有北大青鸟学生的MyKTV项目 , 都有用到。
这里我们用到了MS的COM组件,要播放视频,首先你的电脑上安装了windows自带的播放器Windows Media Player
继续阅读“C#制作视频播放器-player播放器组件-C#视频教程-C#论坛-C#教程-C#源码”
c# 读取图片文件 – louiskoo – 博客园
/// <summary>
/// 通过FileStream 来打开文件,这样就可以实现不锁定Image文件,到时可以让多用户同时访问Image文件 继续阅读“c# 读取图片文件 – louiskoo – 博客园”
C#抓取网络图片保存到本地,C#代码片段分享, – 脚本分享网
这段代码可以抓取指定的url的网络图片,并保存到本地 继续阅读“C#抓取网络图片保存到本地,C#代码片段分享, – 脚本分享网”
C# 自定义控件制作和使用实例 – 小熊之家 – 博客频道 – CSDN.NET
C#开发之自定义控件的简单使用 – whuarui2010的专栏 – 博客频道 – CSDN.NET
1.开发自定义控件
自定义控件在开发中算常用的技术,因为在解决实际问题时往往.NET Framework提供的控件不能满足所有的需求,还好可以根据.NET Framework提供的基础控件组合扩展成自定义控件。
开发自定义控件需要先新建一个Windows窗体控件库的项目,在该项目中设计UserControl,步骤如下图: 继续阅读“C#开发之自定义控件的简单使用 – whuarui2010的专栏 – 博客频道 – CSDN.NET”
C# 常用控件及单击事件 – J_une – 博客园
1、窗体
1、常用属性
(1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。
(2)WindowState属性: 用来获取或设置窗体的窗口状态。 取值有三种: Normal (窗体正常显示)、 Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示)。
(3)StartPosition属性:用来获取或设置运行时窗体的起始位置。(System.Windows.Forms.SystemInformation.WindowsArea.Height获取显示器的高度)
(4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。
(5)Width属性:用来获取或设置窗体的宽度。
(6)Height属性:用来获取或设置窗体的高度。 继续阅读“C# 常用控件及单击事件 – J_une – 博客园”
C#通过WebClient/HttpWebRequest实现http的post/get方法 – 玢棂 – 博客园
本人就是参考这篇文章里的代码改进自己的项目。 继续阅读“C#通过WebClient/HttpWebRequest实现http的post/get方法 – 玢棂 – 博客园”
C#填充字符串_C# 博文_CS程序员之窗
- 本文介绍C#填充字符串,包括String.PadLeft:用前导字符填充字符串使其达到指定的总长度。String.PadRight:用尾随字符填充字符串使其达到指定的总长度。
使用下列 String 方法之一创建新的字符串,其中包含原始字符串以及用于填充原始字符串使其达到指定总长度的前导或尾随字符。填充字符可以是空格或指定字符,因此可显示为右对齐或左对齐。 继续阅读“C#填充字符串_C# 博文_CS程序员之窗”
C#中在WebClient中使用post发送数据实现方法_C#教程_脚本之家
很多时候,我们需要使用C#中的WebClient 来收发数据,WebClient 类提供向 URI 标识的任何本地、Intranet 或 Internet 资源发送数据以及从这些资源接收数据的公共方法。本文就较为详细的说明了WebClient中使用post发送数据实现方法。
下面先说说WebClient 最主要的功能。 继续阅读“C#中在WebClient中使用post发送数据实现方法_C#教程_脚本之家”