据说要vs2008 sp1才可以,不过我的好象是2008就可以了
在你的测试项目,reference右键,之后选择add service reference, 而不是平常的add reference
点击advanced,勾选Generate asynchronouse operations,生成异步调用代码,不勾选,则无法使用WCF异步调用的代码
添加服务引用后,即可用以下代码
测试代码
public WCFTest() { InitializeComponent(); try { ServiceReference1.Service1Client client = new TriggerTest.ServiceReference1.Service1Client(); string str=client.GetData(3); textBox1.Text = str; client.GetDataCompleted += new EventHandler<TriggerTest.ServiceReference1.GetDataCompletedEventArgs>(client_GetDataCompleted); client.GetDataAsync(3); //不能Close,否则异步调用返回结果就会出错 //client.Close(); //Service1Client client = new Service1Client(); // Use the 'client' variable to call operations on the service. // Always close the client. //client.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } void client_GetDataCompleted(object sender, TriggerTest.ServiceReference1.GetDataCompletedEventArgs e) { try { string str = e.Result; textBox2.Text = str; } catch (Exception ex) { MessageBox.Show(ex.Message); } }WCF要学么?《--不用
WCF有什么好处?简单,根本不用管他用什么WCF,SOAP协议,什么安全性
我觉得对于程序员来说,最大的好处就是
可以在客户端,直接拿到服务端的对象,不只是String而已哦,也不用去管虾米xml,json序列化 看过几个java的人,用xml,json的序列化,他们不是把json转变成对象,那序列化也没啥意思,说真的无法理解只是为传数据而传数据 论坛上很多人谈论什么是面向对象 看看人家微软是如何把服务变成对象的,而又是如何把服务传送的字串变成对象的 这就是我对面向对象的看法