Windows Azure Marketplace入门教学-通过代码操作DataMarket数据源
2012-02-08 19:37
639 查看
[b]公告:本博客为微软云计算中文博客的镜像博客。 部分文章因为博客兼容性问题,会影响阅读体验。如遇此情况,请访问原博客。[/b]
Windows®AzureMarketplace(先前名为"Dallas",本博客也写过一篇入门教学"初探Dallas")的DataMarket是一个信息市场,简化了发布以及使用各种类型数据的步骤。DataMarket方便开发者和信息工作者发现,购买以及管理所订购的Premium数据。
DataMarket内的数据的暴露格式为OData,并对于数据查询提供了2种模式:
Flexible查询:允许用户添加可选的名值对参数来查询数据,例如(columnName=foo)等。
Fixed查询:用户只能通过内容提供商所预定义的操作来进行数据查询。
本文会简单的介绍一下如何利用WindowsAzureMarketplace构建一个Flexible查询的应用。
WindowsLive主页注册。
2.一个有效的DataMarket账户。如果没有,请访问WindowsAzureMarketplaceDataMarket,用您的LiveID登陆。接受若干使用条款之后,便会拥有一个与LiveID绑定的DataMarket账户。
3.在AccountKeys页面获取您的AccountKeys,这是您使用服务的凭证。
4.访问DataMarket的数据源列表页面,列出了所有DataMarket内的数据源,选择感兴趣的数据源,点击,进入数据源的详细页面。在该页面的右侧,点击SignUp按钮来订购该数据源(一般都为免费数据源)。接受若干使用条款后,我们便完成了数据源的订购。
5.我们订购2006-2008CrimeintheUnitedStates服务以作后续项目演示之用。
2.将项目的目标框架选(TargetFramework)为.NETFramework4。
3.将项目命名为USCrime2006and2007。
4.点击OK按钮。
首页,并以LiveID登陆。
2.点击MyData标签页。
3.找到2006-2008CrimeintheUnitedStates数据服务。
4.点击该服务列表内右侧的Use链接。
5.将网页拖至页面中部,点击Details标签页。
6.找到该服务的根URL。
2.将上步的URL输入至对话框的地址栏内。点击Go按钮。
3.将该服务的命名空间设为DataGovCrimes。
4.点击OK按钮。
2.在文件内加入如下引用语句:
2.为该类增加2个私有变量:
一个表示服务的根URL。
一个存储了服务上下文中服务凭证的服务容器。
3.为
是上文所提到的服务的根URL。[/code]
是您的LiveID账户名。
是您在DataMarket内的AccountKeys(参考预备工作
章节)。
[/code]
4.创建一个返回泛型类型为
该查询可以是任何有效的DataMarketLINQ查询,可以包括可选的
5.在
6.运行程序,在Console中会显示操作返回的结果。
参考:http://msdn.microsoft.com/en-us/library/gg312152.aspx
Windows®AzureMarketplace(先前名为"Dallas",本博客也写过一篇入门教学
DataMarket内的数据的暴露格式为
本文会简单的介绍一下如何利用WindowsAzureMarketplace构建一个Flexible查询的应用。
预备工作:
1.一个有效的WindowsLiveID账户,如果没有,请通过2.一个有效的DataMarket账户。如果没有,请访问
3.在
4.访问
5.我们订购
代码:
步骤1:在VisualStudio中创建新项目
以管理员权限运行VisualStudio
1.以管理员权限运行VisualStudio创建新项目
1.新建VisualC#Console应用。2.将项目的目标框架选(TargetFramework)为.NETFramework4。
3.将项目命名为USCrime2006and2007。
4.点击OK按钮。
步骤2:为项目添加服务引用
获取服务的根URL
1.访问WindowsAzureMarketplaceDataMarket2.点击MyData标签页。
3.找到2006-2008CrimeintheUnitedStates数据服务。
4.点击该服务列表内右侧的Use链接。
5.将网页拖至页面中部,点击Details标签页。
6.找到该服务的根URL。
为项目添加服务引用
1.右击步骤1中的项目,选择AddServiceReference...。2.将上步的URL输入至对话框的地址栏内。点击Go按钮。
3.将该服务的命名空间设为DataGovCrimes。
4.点击OK按钮。
在代码中添加服务引用
1.打开项目的Program.cs文件。2.在文件内加入如下引用语句:
usingUSCrime2006and2007.DataGovCrimes;
步骤3:用托管代码来使用数据
创建一个辅助类
1.创建一个公有类,名为CrimeData
。
2.为该类增加2个私有变量:
一个表示服务的根URL。
一个存储了服务上下文中服务凭证的服务容器。
classCrimeData
{
privateUriserviceURI;
privatedatagovCrimesContainercontext;
}
3.为
CrimeData创建一个构造函数。构造函数初始化私有变量以及用户凭证。
classCrimeData
{
privateUriserviceURI;
privatedatagovCrimesContainercontext;
//constructorfortheCrimeDataclass
publicCrimeData()
{
serviceURI=newUri(ROOT_URL);
context=newdatagovCrimesContainer(serviceURI);
context.Credentials=newNetworkCredential(USER_ID,
SECURE_ACCOUNT_ID);
}
}
ROOT_URL
是上文所提到的服务的根URL。[/code]
USER_ID
是您的LiveID账户名。
SECURE_ACCOUNT_KEY
是您在DataMarket内的AccountKeys(参考预备工作
章节)。
[/code]
4.创建一个返回泛型类型为
CityCrime的泛型列表的共有方法。
classCrimeData
{
privateUriserviceURI;
privatedatagovCrimesContainercontext;
//constructorfortheCrimeDataclass
publicCrimeData()
{
serviceURI=newUri(ROOT_URL);
context=newdatagovCrimesContainer(serviceURI);
context.Credentials=newNetworkCredential(USER_ID,
SECURE_ACCOUNT_ID);
}
//--publicmethodthatreturnsthelistofcrimedata
publicIList<CityCrime>GetCrimeData()
{
IEnumerable<CityCrime>query=context.CityCrime.Where(crime=>crime.City=="Newport").OrderBy(crime=>crime.Year);
try
{
returnquery.ToList();
}
catch(Exceptionex)
{
Console.WriteLine("Error:{0}",ex.Message);
returnnull;
}
}
}
该查询可以是任何有效的DataMarketLINQ查询,可以包括可选的
where(
Where)或者是
orderby(
OrderBy)方法。
5.在
Main()函数中用
CrimeData类,以及
GetCrimeData()方法来使用数据,并显示函数返回的结果。
staticvoidMain(string[]args)
{
IList<CityCrime>crimeList;//CityCrimeistheentitytypereturnedbytheservice
CrimeDatacrimeData=newCrimeData();
crimeList=crimeData.GetCrimeData();
if(crimeList!=null)
{
Console.WriteLine("{0,4}{1,-12}{2,-15}{3,10}{4,13}","Year",
"City",
"State",
"Population",
"ViolentCrime");
foreach(CityCrimecincrimeList)
Console.WriteLine("{0,4}{1,-12}{2,-15}{3,10}{4,13}",c.Year,
c.City,
c.State,
c.Population,
c.ViolentCrime);
}
Console.Write("Tapanykeytoexit.");
Console.ReadKey();
}
6.运行程序,在Console中会显示操作返回的结果。
总结:
我们看到在代码方便对于数据源的使用是非常简单的,开发者可以结合实际应用的需求,轻松的将应用与这些实时的数据源相集成,构建出具有丰富内容的应用来。参考:
相关文章推荐
- Windows Azure Marketplace入门教学-通过代码操作DataMarket数据源
- Windows Azure Marketplace入门教学-通过代码操作DataMarket数据源
- Windows Azure Marketplace入门教学-通过代码操作DataMarket数据源
- Windows Azure Marketplace入门教学-通过代码操作DataMarket数据源
- Windows Azure Marketplace入门教学-通过代码操作DataMarket数据源
- Windows Azure Marketplace入门教学- DataMarket for Excel插件
- Windows Azure Marketplace入门教学-利用TabLeau Public构建可视化DataMarket应用
- Windows Azure Marketplace入门教学- DataMarket for Excel插件
- Windows Azure Marketplace入门教学- DataMarket for Excel插件
- Windows Azure Marketplace入门教学- DataMarket for Excel插件
- Windows Azure Marketplace入门教学- DataMarket for Excel插件
- Windows Azure Marketplace入门教学- DataMarket for Excel插件
- Windows Azure Marketplace入门教学-利用TabLeau Public构建可视化DataMarket应用
- Windows Azure Marketplace DataMarket概述
- Windows Azure Marketplace入门教学-利用TabLeau Public构建可视化DataMarket应用
- Windows Azure Marketplace DataMarket概述
- Windows Azure Marketplace入门教学- DataMarket for Excel插件
- Windows Azure Marketplace DataMarket概述
- Windows Azure Marketplace入门教学-利用TabLeau Public构建可视化DataMarket应用
- Windows Azure Marketplace DataMarket概述