欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    一步一步学Silverlight 2系列17.docx

    • 资源ID:30014753       资源大小:422.35KB        全文页数:11页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    一步一步学Silverlight 2系列17.docx

    1、一步一步学Silverlight 2系列17一步一步学Silverlight 2系列(17):数据与通信之ADO.NET Data Services 概述Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。一步一步学Silverlight 2系列文章将从Silverlight 2基础知识、数据与通信、自定义控件、动画、图形图像等几个方面带您快速进入

    2、Silverlight 2开发。本文将简单介绍在Silverlight 2中如何调用ADO.NET Data Services。准备知识由于ADO.NET Data Services是在ASP.NET 3.5 Extensions中,所以在开始本文示例之前,首先要安装一下ASP.NET 3.5 Extensions最新版本,你可以从这里下载。安装完成后,在添加新项对话框中应该能够看到ADO.NET Data Service项:ADO.NET Data Service允许应用程序把数据以服务的形式公开,这样我们就可以通过浏览器来直接访问数据,它支持开放的业界标准,如AtomPub和JSON。它支

    3、持标准的HTTP动作如POST、GET、PUT、DELETE,用来完成数据的创建、更新、删除和读取。ADO.NET Data Service的知识这里不再多说,大家可以去查看相关的资料。简单示例如果大家看了前面三篇文章的话,可能对于下面的这个界面已经很烦了,不过在本文我会仍然采用这个示例进行演示:)建立完Silverlight 2项目之后,我们在Web项目中添加一个Post类:public class Post public int Id get; set; public string Title get; set; public string Author get; set; 我们用Id作为

    4、Post的主键,这里需要添加对于Microsoft.Data.Web.dll程序集的引用,位于Program FilesReference AssembliesMicrosoftFrameworkASP.NET 3.5 Extensions下面,引入命名空间using Microsoft.Data.Web,并且为Id加上DataWebKey特性,最终完成后代码应该如下:public class Post DataWebKey public int Id get; set; public string Title get; set; public string Author get; set;

    5、再添加一个Blog类,它有一个返回类型为IQueryable的属性Posts:public class Blog public Blog() _post.Add(new Post Id = 1, Title = 一步一步学Silverlight 2系列(13):数据与通信之WebRequest, Author = TerryLee ); _post.Add(new Post Id = 2, Title = 一步一步学Silverlight 2系列(12):数据与通信之WebClient, Author = TerryLee ); _post.Add(new Post Id = 3, Title

    6、 = 一步一步学Silverlight 2系列(11):数据绑定, Author = TerryLee ); _post.Add(new Post Id = 4, Title = 一步一步学Silverlight 2系列(10):使用用户控件, Author = TerryLee ); _post.Add(new Post Id = 5, Title = 一步一步学Silverlight 2系列(9):使用控件模板, Author = TerryLee ); _post.Add(new Post Id = 6, Title = 一步一步学Silverlight 2系列(8):使用样式封装控件观

    7、感, Author = TerryLee ); List _post = new List(); public IQueryable Posts get return _post.AsQueryable(); 添加一个ADO.NET Data Service,取名BlogDataService.svc:实现服务,让它继承于泛型的WebDataService,并且设置访问权限。public class BlogDataService : WebDataService public static void InitializeService(IWebDataServiceConfiguration

    8、 config) config.SetResourceContainerAccessRule(*, ResourceContainerRights.AllRead); 现在我们的服务端就完成了,现在我们可以在浏览器中访问BlogDataService.svc,应该可以看到如下界面:现在还看不到所有的Posts,我们可以在地址栏中输入http:/localhost:8081/BlogDataService.svc/Posts,浏览器会默认为Feed打开,可以查看源代码,将会看到所有内容,XML内容如下(只列出片段): http:/localhost:8081/BlogDataService.sv

    9、c/Posts Posts http:/localhost:8081/BlogDataService.svc/Posts(1) 1 一步一步学Silverlight 2系列(13):数据与通信之WebRequest TerryLee 如果要查看某一条文章的内容,可以输入http:/localhost:8081/BlogDataService.svc/Posts(2)进行查看,如下图所示。当然还可以进行其他的查询,使用filter和orderby等,如http:/localhost:8081/BlogDataService.svc/Posts?$filter=Id eq 1&$orderby=I

    10、d,这里不在介绍。至此我们的数据服务端就算完成了。下面再实现客户端,XAML不再贴出来,大家可以参考前面的几篇文章,使用WebClient获取数据,返回的结果是一个XML文件:private void UserControl_Loaded(object sender, RoutedEventArgs e) Uri uri = new Uri(http:/localhost:8081/BlogDataService.svc/Posts); WebClient client = new WebClient(); client.OpenReadCompleted += new OpenReadCom

    11、pletedEventHandler(client_OpenReadCompleted); client.OpenReadAsync(uri);void client_OpenReadCompleted(object sender,OpenReadCompletedEventArgs e) if (e.Error = null) 我们可以使用LINQ to XML进行数据的读取,在Silverlight项目中建立一个Post类,跟上面的Post类一样,然后使用LINQ to XML读取:XmlReader reader = XmlReader.Create(e.Result);XDocumen

    12、t postdoc = XDocument.Load(reader);XNamespace xmlns = http:/www.w3.org/2005/Atom;XNamespace ads = var posts = from x in postdoc.Descendants(xmlns + entry) select new Post Id = int.Parse(x.Descendants(ads + Id).First().Value), Title = x.Descendants(ads + Title).First().Value, Author = x.Descendants(a

    13、ds + Author).First().Value ;Posts.ItemsSource = posts;完成的代码如下所示:private void UserControl_Loaded(object sender, RoutedEventArgs e) Uri uri = new Uri(http:/localhost:8081/BlogDataService.svc/Posts); WebClient client = new WebClient(); client.OpenReadCompleted += new OpenReadCompletedEventHandler(clien

    14、t_OpenReadCompleted); client.OpenReadAsync(uri);void client_OpenReadCompleted(object sender,OpenReadCompletedEventArgs e) if (e.Error = null) XmlReader reader = XmlReader.Create(e.Result); XDocument postdoc = XDocument.Load(reader); XNamespace xmlns = http:/www.w3.org/2005/Atom; XNamespace ads = var

    15、 posts = from x in postdoc.Descendants(xmlns + entry) select new Post Id = int.Parse(x.Descendants(ads + Id).First().Value), Title = x.Descendants(ads + Title).First().Value, Author = x.Descendants(ads + Author).First().Value ; Posts.ItemsSource = posts; 完整的示例就到这里了,运行后的结果与前面的一样。结束语本文简单介绍了在Silverlight 2调用ADO.NET Data Services,由于对ADO.NET Data Services了解不多,有错误的地方还请大家斧正,你可以从这里下载示例代码。下一篇:一步一步学Silverlight 2系列(18):综合实例之RSS阅读器作者:TerryLee出处: 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 Tag标签: Silverlightposted 2008-03-10 18:34 TerryLee 阅读(8044) 评论(23) 编辑 收藏 网摘 所属分类: 03银光点亮世界


    注意事项

    本文(一步一步学Silverlight 2系列17.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开