毕业论文的主题是云计算,为此最近这段时间看了无数相关理论文献和观点,
一个用Windows Azure和Virtual Earth打造的毕业小设计和消遣工具
。上个礼拜结了题,但是自己偷懒了一把,本来是计划用 Azure写个小Sample的,后来想想论文字数到了就算了。结果答辩前两天,导师说这样你的毕业论文很不饱满,创新什么的都没有,索然无味,还是把本来设想的程序给加进去吧!想想也是,毕竟有个亮点,娱乐娱乐答辩老师也好。
然后便连夜装好开发环境,找Sample, 看教程,因为本来就是想写个小应用,代码写起来很快。因为几个月前就拿到了Azure的测试邀请,写好就能直接往云端部署了。
这里插一句,不知是Azure服务端的原因还是我们这互联网出口的原因(G F W…),有些时候网站会打不开,大家要是也碰到点不开的情况请告之。众所周知GAE有不和谐的****应用,照理说Azure也能,不知道到时候这些会被和谐伐…
废话不多,放上围观地址:http://betageek.cloudapp.net 。
应用名称:全球地图即时贴(StickyGISNotes)
功能介绍:本应用全部组件均部署于微软Azure服务平台。通过微软Virtual Earth Control地理信息控件,展现给访问者全球地图界面的同时,允许用户在任何一个经纬坐标点输入自己的留言,像即时贴一样贴在地球的任何一个角落。
由Windows Azure Storage Table负责持久化工作,每一个标签的实体信息都存于其中。
地图控件自然是微软的Virtual Earth,通过JS和对地图进行控制和通讯。
放个截图。乍一看很乱,为什么呢,因为程序写好未免会有IB之嫌,于是向我亲爱的同学们推广,却不知反响不错,留言无数,更有甚者在太平洋上作画…
有兴趣的同学们可以打开此应用的地址自行观看。亮点在南极洲,北冰洋,南美,太平洋,和非洲…群众的创造力啊。
值得肯定的是有两贴分别在四川和 ,留言很让人感动。
由于社区里关于Azure的介绍和入门文章很多,这里就不做Step by Step的介绍和截图了,未免浪费资源。
至于项目源代码,Map Control的JS可以直接看到,后台里关于Storage Table的操作,有其他牛人的文章都有介绍。因为具体代码是贴到毕业论文里的,不清楚随便发上来会有什么问题,就不发了,而且其实是没什么花头的。
附上两个参考链接:http://blogs.msdn.com/jnak/archive/2008/10/28/walkthrough-simple-table-storage.aspx,
【Azure Services Platform. Step by Step-第12篇】实现Windows Azure聊天室-使用Table Storage
(流牛木马兄算是院子里发Azure文章最多的了,赞一个,教程很详细,我就不班门弄斧了)
Azure本身以及其SDK现在还是属于测试阶段,本人开发过程中就因为一个很傻的问题调试了很长时间,
电脑资料
《一个用Windows Azure和Virtual Earth打造的毕业小设计和消遣工具》(https://www.unjs.com)。///
/// 即时贴数据环境实体。
///
public class StickyGISNoteDataContext : TableStorageDataServiceContext
{
///
/// 构造函数
///
/// Storage账户信息
public StickyGISNoteDataContext(StorageAccountInfo info)
: base(info)
{ }
///
/// 获取所有的即时贴数据实体
///
public IQueryable StickyGISNoteModel //问题出在这里,见下文
{
get
{
return this.CreateQuery("StickyGISNoteModel");
}
}
}
问题出在,由于习惯了Linq To SQL中对Table实体集的英文复数命名方式,这里的public IQueryable
我个人认为这是一个Azure Development Table database generation tool的Bug。竟然DataContext的实体集属性会和实体名字本身发生这样的耦合。
还有就是开发过程中,Debug,Build,Create Test Storage Tables等操作会无故报错,不进行任何改动重新操作一遍就会又恢复正常,挺无语的。