加入收藏 | 设为首页 | 会员中心 | 我要投稿 烟台站长网 (https://www.0535zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

一步一步教你达成一个简单的云服务

发布时间:2021-07-04 16:34:18 所属栏目:云计算 来源:互联网
导读:准备工作:Windows Azure只能运行在Windows 7, Windows Server 2008 和Windows Vista 上。暂不支持Windows 2003和XP。昨天安装了Win7,打算尝试写一个 Azure小程序,程序很简单,实现图片的简单上传和搜索功能,我顺便研究一下 微软的Azure平台,下面是我的
  准备工作:Windows Azure只能运行在Windows 7, Windows Server 2008 和Windows Vista 上。暂不支持Windows 2003和XP。昨天安装了Win7,打算尝试写一个 Azure小程序,程序很简单,实现图片的简单上传和搜索功能,我顺便研究一下 微软的Azure平台,下面是我的软件环境。
 
  操作系统:Windows 7
 
  开发工具:Visual Studio2010 RC,Windows Azure SDK ,Windows Azure Tools
 
  第一步:安装Windows Azure SDK
 
  首先确定你的操作系统满足要求,Visual Studio可以是Visual Studio2008 或者Visual Studio2010。到下面网址下载Windows Azure SDK :
 
  http://www.microsoft.com/downloads/details.aspx?FamilyID=772990da- 8926-4db0-958f-95c1da572c84&displaylang=en
 
  一旦你安装成功,你的电脑上会多出Windows Azure SDK v1.1 ,如下图:
 
一步一步教你实现一个简单的云服务
 
  启动Development Fabric和Development Stroage:
 
一步一步教你实现一个简单的云服务
 
  显示配置界面:
 
一步一步教你实现一个简单的云服务
 
  Development Fabric:
 
一步一步教你实现一个简单的云服务
 
 
  Development Storage:
 
一步一步教你实现一个简单的云服务
 
  以上证明你安装成功。
 
  第二步:安装Windows Azure Tools for Microsoft Visual Studio
 
  地址:http://www.microsoft.com/downloads/details.aspx? FamilyID=5664019e-6860-4c33-9843-4eb40b297ab6&displaylang=en
 
  安装之后,Visual Studio会有如下模版:
 
一步一步教你实现一个简单的云服务
 
  第三步:新建一个云服务命名为BlobStorage,如下图:
 
一步一步教你实现一个简单的云服务
 
 
  使用简单的ASP.NET Web Role,并更名为BlobWebRole,如下图:
 
 
  得到如下结构的项目:
 
 
 
  第四步:修改代码,我们实现一个简单的图片上传和搜索的功能:
 
一步一步教你实现一个简单的云服务(4)
 
  1、添加一个connectionstring,如下图
 
一步一步教你实现一个简单的云服务(4)
 
 
 
 
  2、将WebRole的代码修改成如下所示:
 
public class WebRole : RoleEntryPoint
{
public override bool OnStart()
{
DiagnosticMonitor.Start ("BlobConnectionString");
CloudStorageAccount.SetConfigurationSettingPublisher((configName,  configSetter) =>
{
configSetter (RoleEnvironment.GetConfigurationSettingValue(configName));
});
// get the blob connection string
CloudStorageAccount objStorage =  CloudStorageAccount.FromConfigurationSetting ("BlobConnectionString");
// get the client reference
CloudBlobClient objClient = new  CloudBlobClient(objStorage.BlobEndpoint, objStorage.Credentials);
// Get the reference to container
CloudBlobContainer objContainer =  objClient.GetContainerReference("mycontainer");
// Create the container if it does  not exist
objContainer.CreateIfNotExist();
RoleEnvironment.Changing +=  RoleEnvironmentChanging;
return base.OnStart();
 
}
private void RoleEnvironmentChanging(object  sender, RoleEnvironmentChangingEventArgs e)
{
// If a configuration setting is  changing
if (e.Changes.Any(change => change  is RoleEnvironmentConfigurationSettingChange))
{
// Set e.Cancel to true to  restart this role instance
e.Cancel = true;
}
}
}
本文来自编程入门网:http://www.bianceng.cn/Servers/cloud-computing/201011/20499_5.htm
 
 
  3、在页面上拖放几个控件,简单地布局如下:
 
一步一步教你实现一个简单的云服务(4)
 
  4、后台代码如下:
 
protected void Button1_Click(object sender, EventArgs  e)
{
 
// Get the storage account  reference
CloudStorageAccount objStorage =  CloudStorageAccount.FromConfigurationSetting ("BlobConnectionString");
// get the Client reference using  storage blobend point
CloudBlobClient objClient = new  CloudBlobClient(objStorage.BlobEndpoint, objStorage.Credentials);
// Get Container reference
CloudBlobContainer objContainer =  objClient.GetContainerReference("mycontainer");
 
// Get blob reference
CloudBlob obj =  objContainer.GetBlobReference(FileUpload1.FileName.ToString());
// Set meta values
obj.Metadata["MetaName"] = "meta";
// Open a stream using the cloud  object
BlobStream blobstream = obj.OpenWrite ();
// Write the stream to the blob  database
blobstream.Write(FileUpload1.FileBytes, 0,  FileUpload1.FileBytes.Count());
blobstream.Close();
// Browse through blob list from the  container
IEnumerable<IListBlobItem>  objBlobList = objContainer.ListBlobs();
foreach (IListBlobItem objItem in  objBlobList)
{
Response.Write(objItem.Uri +  "<br>");
}
}
protected void Button2_Click(object sender,  EventArgs e)
{
// Get the storage account  reference
CloudStorageAccount objStorage =  CloudStorageAccount.FromConfigurationSetting ("BlobConnectionString");
// get the Client reference using  storage blobend point
CloudBlobClient objClient = new  CloudBlobClient(objStorage.BlobEndpoint, objStorage.Credentials);
// Get Container reference
CloudBlobContainer objContainer =  objClient.GetContainerReference("mycontainer");
// Get the blob reference using the  blob name provided in the search
CloudBlob obj =  objContainer.GetBlobReference(txtSearch.Text);
BlobStream blobstream = obj.OpenRead ();
// Create the image object and  display the same on the browser response
System.Drawing.Image objimg = null;
objimg = System.Drawing.Image.FromStream (blobstream, true);
Response.Clear();
Response.ContentType = "image/gif";
objimg.Save(Response.OutputStream,  System.Drawing.Imaging.ImageFormat.Jpeg);
}
 
本文来自编程入门网:http://www.bianceng.cn/Servers/cloud-computing/201011/20499_5.htm
 
  运行效果:
 
 
 
第三十三届CIO班招生
法国布雷斯特商学院硕士班招生
北达软EXIN网络空间与IT安全基础认证培训
北达软EXIN DevOps Professional认证培训

(编辑:烟台站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!