Silverlight学习笔记二:Silverlight从WCF那里获取数据,WCF为Silverlight提供数据

来源:互联网 发布:sql数据库 编辑:程序博客网 时间:2024/05/21 22:34

【1】:建立Silverlight应用程序。

【2】:在Silverlight中的Web中,添加WCF.



【3】:在WCF文件Service1.svc中添加函数。

using System;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.ServiceModel.Activation;namespace SilverWCF.Web{    [ServiceContract(Namespace = "")]    [SilverlightFaultBehavior]    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]    public class Service1    {        [OperationContract]        public void DoWork()        {            // 在此处添加操作实现            return;        }        [OperationContract]//这个很重要 ,每个函数前面都必须写        public string getstring()        {            return "这是WCF提供的数据";        }        // 在此处添加更多操作并使用 [OperationContract] 标记它们    }}

【4】:把Web生成以下。

【5】为Silverlight添加服务引用



【6】:编写代码

添加引用:

using SilverWCF.ServiceReference1;

写代码:

        private void button1_Click(object sender, RoutedEventArgs e)        {            Service1Client client = new Service1Client();//建立服务            client.getStringCompleted += new EventHandler<getStringCompletedEventArgs>(client_getStringCompleted);//为下面的异步调用注册一个回调函数,当输入完 client.getStringCompleted +=时候,按两下Tab键,会自动补全            client.getStringAsync();//异步调用            client.CloseAsync();//关闭服务        }        void client_getStringCompleted(object sender, getStringCompletedEventArgs e)        {            if (e.Error==null)            {                MessageBox.Show(e.Result);//获取WCF提供的结果            }        }