c#必须使用适当的属性或方法修改此标头解决办法_IT技术学习网

本文描述c#中出现”必须使用适当的属性或方法修改此标头”错误的原因和解决办法。

在c#中使用httpwebrequest,webrequest类的时候,如果尝试对http请求的header进行设置,不管是使用set方法还是add方法,如我们设置header中的referer属性:

request.Headers.Set("Referer", "itjsxx.com");

request.Headers.Add(“Referer”, “itjsxx.com”);

都会报错:”必须使用适当的属性或方法修改此标头“。

原因:c#不允许您使用set和add方法来设置此类标头

c#已经提供了此类标头的专用属性,供您修改和设置此标头时使用。

header的名称和对应的属性设置方法如下: 继续阅读“c#必须使用适当的属性或方法修改此标头解决办法_IT技术学习网”

[C#] WebClient性能优化 – 王绍全的博客 – 博客频道 – CSDN.NET

WebClient缺省是为了安全和方便,不是为了性能。所以,当你打算做压力测试的时候,就会发现WebClient很慢。

WebClient性能很差,主要原因有:

1、它缺省会使用IE的代理设置,而IE的代理设置默认是‘自动检测’。这意味着每个进程在第一次使用WebClient的时候都要自动检测一次代理,这常常会耗时5秒钟以上。

2、WebClient遵循了一个古老的垃圾设定“对每个网站最多只发起两个并发连接”

 

因此,可以如下优化WebClient的性能: 继续阅读“[C#] WebClient性能优化 – 王绍全的博客 – 博客频道 – CSDN.NET”

C#给picturebox控件加图片选中状态的2个方法_C#教程_脚本之家

C#给picturebox控件加图片选中状态的2个方法,需要的朋友可以参考一下

 

 

方法一:

简单的方法就是改变picturebox 控件的borderstyle样式

currentSelectPicBox.BorderStyle = BorderStyle.Fixed3D;
currentSelectPicBox.Refresh();//强制控件重新绘制

方法二

在picturebox控件加一个矩形框  但是这种方法在程序中反应比较慢。 继续阅读“C#给picturebox控件加图片选中状态的2个方法_C#教程_脚本之家”

C# 如何判断子控件是否被选中?_百度知道

label控件有MouseMove事件
private void label_MouseMove(object sender, MouseEventArgs e)
{
Label lb = (Label)sender; //sender表示当前控件
MessageBox.Show(lb.Text);
}
给每个label都添加这个事件而不是写N个事件,就达到想要的效果,懂吧!

来源URL:http://zhidao.baidu.com/link?url=cye7917WpSHQCD9DjvqtpoLnmDns1UgkgzLgRhQk7E2s03xCAoCOb12d7F6LXXPnE4CbkphhymLVBubmzOdZza

C#~异步编程续~.net4.5主推的await&async应用 – 张占岭 – 博客园

之前写过两篇关于异步编程的文章,详细可以进入C#~异步编程和C#~异步编程在项目中的使用

.net的各个版本都有自己主推的技术,像.NET1.1中的委托,.NET2.0中的泛型,.NET3.0中的Linq,.NET4.0中的Dynimac,而在.NET4.5中主要推出的是异步编程,而实现异步编程的简单方式就是使用await和async关键字,而在新的.net托管类库中已经大大使用了这两个关键字,我们在vs2010添加补丁和vs2012中都可以使用它,在微软的战场上,我们从来没有见过异步编程这样盛行过,在推出.net4.5后,所以需要进行异步的方法,都被实现了同步和异步的两个版本,这给开发人员以大大的方便!

下面举出两个例子来再次说明一个await和async的使用方法

一 将远程图像进行获取,然后在浏览器上进行响应

继续阅读“C#~异步编程续~.net4.5主推的await&async应用 – 张占岭 – 博客园”

C#中的线程 入门 – MinSen – 博客频道 – CSDN.NET

一、入门

1.    

概述与概念

   C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行。一个C#程序开始于一个单线程,这个单线程是被CLR和操作系统(也称为“主线程”)自动创建的,并具有多线程创建额外的线程。这里的一个简单的例子及其输出:

     除非被指定,否则所有的例子都假定以下命名空间被引用了:  继续阅读“C#中的线程 入门 – MinSen – 博客频道 – CSDN.NET”

C#中的多线程使用 — Thread 类 – 沧海小小粟 – 博客园

现在C#已经建议摈弃使用 Suspend, Resume 暂停/恢复线程, 也尽量少用 Abort方法中断一个线程.

建议使用线程的同步手段有:  Mutex、ManualResetEvent、AutoResetEvent, Monitor.

下面再对此进行详细描述.

Thread类的构造函数有2类:

一种是不带参数(ThreadStart 委托) —

 public Thread(ThreadStart start);

另一种是带参数(ParameterizedThreadStart 委托) —

public Thread(ParameterizedThreadStart start);

ParameterizedThreadStart 委托签名:

public delegate void ParameterizedThreadStart(Object obj);

示例: 继续阅读“C#中的多线程使用 — Thread 类 – 沧海小小粟 – 博客园”

.net4.5使用async和await异步编程实例_C#教程_脚本之家

关于异步编程的简单理解:

在.NET4.5中新增了异步编程的新特性async和await,使得异步编程更为简单。通过特性可以将这项复杂的工作交给编译器来完成了。之前传统的方式来实现异步编程较为复杂,这样对于程序猿来说处理起来比较困难,调试也没那么方便,后续的维护工作也比较痛苦。

Async和Await关键字是C#异步编程的核心。通过使用这两个关键字,你可以使用.NET Framework 或 Windows Runtime的资源创建一个异步方法如同创建一个同步方法一样容易。

接下来通过VS2013 创建一个基于.NET4.5的控制台应用程序进行尝试。

先直接把简单的代码贴出来,如下所示 继续阅读“.net4.5使用async和await异步编程实例_C#教程_脚本之家”

C#中FormClosing与FormClosed的区别详细解析_C#教程_脚本之家

FormClosing事件

在窗体关闭时,FormClosing事件发生。此事件会得到处理。从而释放与窗体相关的所有资源。

如果取消此事件,则窗体仍然保持打开状态。

当窗体显示为模式对话框时,单击“关闭”会隐藏窗体并将DialogResult属性设为Cancel。

通过在些事件中设置DialogResult属性可以在用户单击右上角关闭按钮时重写DialogResult的值。

FormClosed事件

在用户或Application类的Close方法或Exit方法关闭窗体后,会发生FormClosed事件。

可以使用此事件释放窗体的一些资源。还可以使用此事件保存输入窗体中的一些信息或者更新父窗体。

来源URL:http://www.jb51.net/article/42284.htm

WebClient vs HttpClient – thankplus – 博客频道 – CSDN.NET

Web­Client

 

 

Http­Client

 

 

 

 

Avail­able in older ver­sion of .NET

 

.NET 4.5 only. Cre­ated to sup­port the grow­ing need of the Web API REST calls

 

 

 

WinRT appli­ca­tions can­not use WebClient

 

Http­Client can be used with WinRT

 

 

 

Pro­vides progress report­ing for downloads.

 

No progress report­ing for downloads.

 

 

 

Does not reuse resolved DNS, configured-cookies.

 

Can resuse resolved DNS, cookie con­fig­u­ra­tion and other authentication.

 

 

 

You need to new up a Web­Client to make con­cur­rent request.

 

Sin­gle Http­Client can make con­cur­rent requests.

 

 

 

Thin layer over WebRe­quest and WebResponse

 

Thin layer over Http­We­bRe­quest and HttpWebResponse

 

 

 

Mock­ing and test­ing Web­Client is difficult

 

Mock­ing and test­ing Http­Client is easy

 

 

 

Sup­ports FTP.

 

No sup­port for FTP.

 

 

 

Both syn­chro­nous and Asyn­chro­nous meth­ods are avail­able for IO bound requests.

 

All IO bound meth­ods in HTTP­Client are asynchronous.

 

 

 

原文地址:http://blogs.k10world.com/technology/webclient-httpclient-consume-http-requests/

来源URL:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c4224603103ab6e07b604a57ce963c215afe170bf7a6613464587ef686ce8e49d8bc98232c9c6269304a891005d318b8cb37609670875b99fe47bcedac7484aea389991211dd52752bdeabdc0646&p=8b2a9711838911a058ee930c5859c4&newp=8b2a9714949909f01abd9b7e0e1189231610db2151d7d31f2e96c900cc26&user=baidu&fm=sc&query=c%23+webclient+httpclient&qid=bf97647c00685ae9&p1=5

黄聪: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# 中 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关键字更高的可控性。

提问者评价

现在才发现这两个其实并不冲突。在把一个普通方法包装成一个异步方法的时候,这两个东西需要一起使用

来源URL:http://zhidao.baidu.com/link?url=yAK-C4FQ4JVEmwOimywqloKrX1fzjhWsVjfjkmsclpEbyforicZDXIedhMIXCXf3_9Q05YS640YJqzTcJqYic8wcKe0sMq3EjDhdb9Ww8Y3

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/