快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

葡京娱乐场娱乐网址:【Azure Services Platform Step by Step第12篇】实现Windows A



本文示例源代码或素材下载

在【Azure Services Platform Step by Step-第9篇】Wi葡京娱乐场娱乐网址ndows Azure Storage概览中,我们已经评论争论过Table Storage的感化和特征。本篇将以搭建简单的谈天室为例,演示假如应用最简单的代码,将C#实体类(Entity)直接存入Table Storage中,彻底拜别SQL Server 200x和ORM对象。

终极效果: (已支配到云真个Demo :http://ibm.cloudapp.net/ChatMain.aspx)

图片看不清楚?请点击这里查看原图(大年夜图)。

首先让我们一路回首一下Table Storage的布局。

图片看不清楚?请点击这里查看原图(大年夜图)。

每行都是一个自力的Entity。

Partition Key和RowKey起到了类似于主键的感化,它们用来标识Entity,同时也可以在实际应用中作为分类查询前提。

TimeStamp属性(上图没画出)是每行都默认有的,它自动记录该行数据着末更新的光阴。

接下来我们来看看StorageClient中是如何应用TableStorage的

看着这图,单看文件名,感觉很稀罕吧? Blob和Queue都应用了Rest来实现,唯独Table没有一个对应REST的类。那它是怎么做的呢?

查看源代码可以发明,原本,它应用的是System.Data.Services.Client里的DataServiceQuery和DataServiceContext这两个ADO.NET 数据办事的关键类来实现的。拿TableStorageDataServiceContext类来说,它承袭自DataServiceContext,或者说,它把DataServiceContext封装成了Azure版!

(对ADO.NET数据办事Client不懂得的同伙请查阅http://msdn.microsoft.com/zh-cn/library/system.data.services.client.dataservicecontext.aspx)

呵呵,不管怎么样,我们应用方便就好了。

懂得完了道理,我们来进入正题吧。

第一步:

在VS008中新建W葡京娱乐场娱乐网址eb Cloud Service、设置设置设备摆设摆设ServiceConfiguration.cscfg、ServiceDefinition.csdef ,添加对StorageClient项目的引用。这里不再重复了,请直接参考上一篇的内容或者本文篇末附件源代码。

直接应用上一节里的ServiceConfiguration.cscfg和ServiceDefinition.csdef也行,由于账户信息是一样的。

第二步:

拖入控件,制作简单的登录界面和主谈天界面。这不是重点也不是难点,请大年夜家直接参看本文篇末附件源代码。着实谈天室和留言吧的差别不大年夜,应用ASP.NET Ajax的Timer和UpdatePanel葡京娱乐场娱乐网址让它每两秒刷新一次就行。

第四步:

建立一个MessageDataServiceContext实体类。该类承袭自TableStorageDataServiceContext,也便是间接承袭自DataServiceContext。它的感化是得到一个对数据办事高低文的引用。此外,定义一个公共属性Messages:可返回所有Message类型实体; 增添AddMessage措施:将Message实体存入Table Storage。

public class MessageDataServiceContext : TableStorageDataServiceContext

{

public MessageDataServiceContext(StorageAccountInfo accountInfo)

: base(accountInfo)

{

}

//定义公共属性Messages,返回所稀有据办事高低文中的Message类实体。

public IQueryable Messages

{

get

{

return this.CreateQuery("Messages");

}

}

public void AddMessage(string name, string body)

{

//应用DataServiceCont葡京娱乐场娱乐网址ext类供给的AddObject措施来存入实体

this.AddObject("Messages", new Message { Name = name, Body = body   });

//DataServiceContext类供给的SaveChanges()措施来保存改动

this.SaveChanges();

}

}

OK,搞定了!

F5一下看看运行效果吧!

经由过程REST措施得到实体的真实边幅:

可以清楚地看到,这个实体有5个属性。此中有3个是默葡京娱乐场娱乐网址认必须有的属性,只有Body和Name是我们在实体类里自己定义的。

系列文章:

【Azure Services Platform Step by Step-第1篇】INTRODUCING THE AZURE SERVICES PLATFORM

【Azure Services Platform Step by Step-第2篇】忘掉落SQL Server 200X——Introducing SQL Data Services(SDS)

【Azure Services Platform Step by Step-第3篇】赤手空拳玩转 SQL Data Services(SDS)

【Azure Services Platform Step by Step-第4篇】SQL Data Services 编程根基

【Azure Services Platform Step by Step-第5篇】.NET Services 概述

【Azure Services Platform Step by Step-第6篇】Service Bus 入门实例

【Azure Services Platform Step by Step-第7篇】别把Windows Azure当虚拟主机使——理解Windows Azure办事架构

【Azure Services Platform Step by Step-第8篇】开拓支配Azure留言板

【Azure Services Platform Step by Step-第9篇】Windows Azure Storage概览

【Azure Services Platform Step by Step-第10篇】应用Blob Storage搭建简单收集硬盘

【Azure Services Platform Step by Step-第11篇】Windows Azure兰州拉面馆-日志与行列步队的应用

您可能还会对下面的文章感兴趣: