嗨,我正在尝试学习如何使用Azure和.Net。
我构建了一个简单的“ Hello World” WebApp,并创建了一个具有3个电子邮件地址的表的Blob存储(当然,该WebApp和Blob存储都在同一订阅下)
我要做的就是在我运行网站时显示这3个电子邮件地址。即从Blob存储区中的表格中获取此地址列表,并将其通过网站呈现。
我不知道从哪里开始,Microsoft教程并没有太大帮助。
在WebApp下的解决方案资源管理器中,有一个文件夹“ Controllers”。我的直觉是在那儿开一门新课,但我又不知道如何开始。
答案 0 :(得分:1)
如果遵循此doc,这非常简单。
我有一个演示,如下所示:
1。在visual studio-> Nuget软件包管理器中,安装最新版本的WindowsAzure.ConfigurationManager
和WindowsAzure.Storage
2。在web.config-> appsettings节点中,添加<add key="StorageConnectionString" value="your storage account string" />
:
3。在asp.net Web项目中,添加一个派生自TableEntity的自定义类:
public class CustomerEntity : TableEntity
{
public CustomerEntity(string lastName, string firstName)
{
this.PartitionKey = lastName;
this.RowKey = firstName;
}
public CustomerEntity() { }
public string Email { get; set; }
public string PhoneNumber { get; set; }
}
4。然后在您的控制器中,添加以下代码(我在Contact方法中添加了代码):
using System.Web.Mvc;
using Microsoft.Azure;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Table;
public ActionResult Contact()
{
//define the emails to output in web page
string emails = "";
// Retrieve the storage account from the connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
// Create the table client.
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
// Create the CloudTable object that represents the "people" table.
CloudTable table = tableClient.GetTableReference("people");
TableQuery<CustomerEntity> query = new TableQuery<CustomerEntity>();
foreach (CustomerEntity entity in table.ExecuteQuery(query))
{
emails += entity.Email+";";
}
ViewBag.Message = "Your contact page."+emails;
return View();
}