Опубликован: 30.05.2011 | Доступ: свободный | Студентов: 2366 / 213 | Оценка: 4.12 / 4.41 | Длительность: 12:00:00
Самостоятельная работа 5:

Работа с Windows Azure Table

< Самостоятельная работа 4 || Самостоятельная работа 5: 1234567 || Лекция 13 >

Интерфейc

Создадим веб - форму для работы с нашим контакт - листом.

Внешний вид веб формы


Рис. 17.3.

Задача 1. Добавление данных в таблицу

В обозревателе решений найдите файл Global.asax.cs. В метод Application_Start необходимо добавить код создания таблицы, в случае если она не была создана до этого:

void Application_Start(object sender, EventArgs e)
        {

            CloudStorageAccount.SetConfigurationSettingPublisher(
                (configName, configSettingPublisher) =>
                {
                    var connectionString =
                        RoleEnvironment.GetConfigurationSettingValue(configName);
                    configSettingPublisher(connectionString);
                }
            ); 

            var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");

//создание таблицы Windows Azure Table
            CloudTableClient _tc = null;
            _tc = account.CreateCloudTableClient();
            _tc.CreateTableIfNotExist("Contacts");

        }

Далее в обработчике события нажатия кнопки "AddContact" необходимо создать аккаунт для подключения к хранилищу, используя параметр строки подключения "DataConnection String" . После этого, для непосредственного добавления данных в таблицу нам понадобится экземпляр класса - контекса. Вызвав метод "Add" данного класса (листинг 17.1) мы добавим строку в таблицу, передав в качестве параметра экземпляр класса "Contact" . Обратите внимание, в классе Contact мы не описывали необходимые параметры для добавления строки в таблицу (ключ секции и ключ строки), класс унаследовал их от родителя. В качестве значения ключа секции зададим произвольную строку, в качестве ключа строки будем использовать сочетание "Last Name + First Name" .

protected void btn_add_Click(object sender, EventArgs e)
        {
            var statusMessage = String.Empty;
            try
            {
                var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
                var context = new ContactContext(account.TableEndpoint, account.Credentials);

                context.Add(new Contact { PartitionKey = "MyContacts", 
                      RowKey = this.tb_lastname.Text + " " + this.tb_firstname.Text, 
                         FirstName = tb_firstname.Text, LastName = tb_lastname.Text, 
                           TelNumber = tb_telnum.Text, Email = tb_email.Text });
            }
            catch (DataServiceRequestException ex)
            {
                statusMessage = "Unable to connect to the table storage server. Please check that the service is running.<br>"
                                 + ex.Message;
            }
            lb_status.Text = statusMessage;
        }

Запустив отладку приложения, введем необходимые данные в появившуюся веб - форму и нажмем кнопку "Add Contact".

asp - код веб - формы данной задачи:

<%@ Page Language="C#" 
 AutoEventWireup="true" CodeBehind="AzureTable.aspx.cs" Inherits="WebRole1.AzureTable" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .style1
        {
            width: 169px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="NameOfExample" runat="server" Font-Bold="True" 
            Font-Italic="False" Font-Size="Larger" Font-Strikeout="False" 
            Font-Underline="False" Text="My Contact List - Windows Azure Table Example"></asp:Label>
        <br />
        <br />
        <asp:Label ID="ContactLabel" runat="server" Text="Contact:"></asp:Label>
        <br />
        <table style="width:100%;">
            <tr>
                <td class="style1">
                     </td>
                <td>
                     </td>
            </tr>
            <tr>
                <td class="style1">
                    <asp:Label ID="lb_firstname" runat="server" Text="First Name"></asp:Label>
                </td>
                <td>
                    <asp:TextBox ID="tb_firstname" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style1">
                    <asp:Label ID="lb_lastname" runat="server" Text="Last Name"></asp:Label>
                </td>
                <td>
                    <asp:TextBox ID="tb_lastname" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style1">
                    <asp:Label ID="lb_telnum" runat="server" Text="Telephone Number"></asp:Label>
                </td>
                <td>
                    <asp:TextBox ID="tb_telnum" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style1">
                    <asp:Label ID="lb_email" runat="server" Text="E-mail"></asp:Label>
                </td>
                <td>
                    <asp:TextBox ID="tb_email" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td class="style1">
                     </td>
                <td>
                     </td>
            </tr>
            <tr>
                <td class="style1">
                     </td>
                <td>
                    <asp:Button ID="btn_add" runat="server" Height="20px" Text="Add Contact" />
                </td>
            </tr>
            <tr>
                <td class="style1">
                    <asp:Label ID="lb_status" runat="server"></asp:Label>
                </td>
                <td>
                     </td>
            </tr>
        </table>
    
    </div>
    </form>
</body>
</html>
< Самостоятельная работа 4 || Самостоятельная работа 5: 1234567 || Лекция 13 >
Роза Мальцева
Роза Мальцева
Игнат Гринько
Игнат Гринько

Примерно месяц назад получил на сайте код Дримспарк, сегодня вводил его на сайте Дримспарк, пишет: Недействительный код проверки. Проверьте правильность введенного кода. Код вводил методом: скопировать-вставить.