关于invokeRequired与invoke
invokerequired的出现的目的是安全的使用线程
每当一个创建本线程外的函数或者方法要调用该进程,则invokerequired的值为true
本进程中的任意方法调用,则invokerequired的值为false
可以这样理解,有人想找你借钱,他可以直接在你的钱包中拿,这样太不安全,因此必须让别人先要告诉你,你再从自己的钱包把钱拿出来借给别人,这样就安全了
常用的书写方式
private void WriteInfo(string text)
{
if (this .richTextBox1.InvokeRequired)
{
OutPutText delegate1 = new OutPutText(WriteInfoExcut);
Invoke(delegate1, new object [] { text });
}
else
{
// 递归(方法自己调用自己,直到 InvokeRequired等于false )
WriteInfo(text);
}
}
在使用wcf程序时候出现
出错原因:在服务器和客户端绑定基本通信类型的时候不一致
解决方法:保持一致就可以了,常用BasicHttpBinding数据类型。