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

Работа с Windows AzureQueue

< Лекция 16 || Самостоятельная работа 7: 12345 || Лекция 17 >

Приложение В Worker.cs

using System.Diagnostics;
using System.Linq;
using System.Net;
using System.Threading;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.Diagnostics;
using Microsoft.WindowsAzure.ServiceRuntime;
using Microsoft.WindowsAzure.StorageClient;


namespace WorkerRole1
{
    public class WorkerRole : RoleEntryPoint
    {
        public override void Run()
        {

            var storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
            var queueClient = storageAccount.CreateCloudQueueClient();
            var queue = queueClient.GetQueueReference("messagequeue");
            while (true)
            {
                Thread.Sleep(10000);
                if (queue.Exists())
                {
                    var msg = queue.GetMessage();
                    if (msg != null)
                    {
                        Trace.TraceInformation(string.Format("Сообщение '{0}' обработано.", msg.AsString));
                        queue.DeleteMessage(msg);
                    }
                }
            }
        }
        public override bool OnStart()
        {
            ServicePointManager.DefaultConnectionLimit = 12;

            CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) =>
                {
                      configSetter(RoleEnvironment.GetConfigurationSettingValue(configName));
                });

        return base.OnStart();

        }
    }
}

Приложение Г AzureQueueSample2.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.StorageClient;
using Microsoft.WindowsAzure.ServiceRuntime;

namespace WebRole1
{
    public partial class AzureQueueSample2 : System.Web.UI.Page
    {

        CloudStorageAccount storageAccount = null;
        CloudQueue cloudQueue = null;
        CloudQueueClient queueClient = null;

        protected void Page_Load(object sender, EventArgs e)
        {
            this.storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
            this.queueClient = storageAccount.CreateCloudQueueClient();
            this.cloudQueue = this.queueClient.GetQueueReference("myqueue");
            this.cloudQueue.CreateIfNotExist();
            this.DisplayMesssages();
        }


        private void DisplayMesssages()
        {
            var msgs = this.cloudQueue.PeekMessages(5);
            var cloudList = new List<string>();

            foreach (var msg in msgs)
            {
                cloudList.Add("Message ID: " + msg.Id + "; Message: " + msg.AsString + 
                 "; Message insertion time: " + msg.InsertionTime);
            }

            this.Repeater1.DataSource = cloudList;
            this.Repeater1.DataBind();
        }

        protected void bnt_addmessage_Click(object sender, EventArgs e)
        {
            CloudQueueMessage msg = new CloudQueueMessage(this.tb_insert.Text);
            this.cloudQueue.AddMessage(msg);

            this.DisplayMesssages();
        }

        protected void btn_addbinary_Click(object sender, EventArgs e)
        {
            CloudQueueMessage msg = new CloudQueueMessage(File.ReadAllBytes(fu_insertbinary.FileName));
            this.cloudQueue.AddMessage(msg);

            this.DisplayMesssages();
        }

        protected void btn_getmessage_Click(object sender, EventArgs e)
        {

            CloudQueueMessage msg = this.cloudQueue.GetMessage();
            this.lb_retrievedmessage.Text = "Retrieved message: " + msg.AsString;
            this.cloudQueue.DeleteMessage(msg);

            this.DisplayMesssages();
        }

    }
}
< Лекция 16 || Самостоятельная работа 7: 12345 || Лекция 17 >
Роза Мальцева
Роза Мальцева
Игнат Гринько
Игнат Гринько

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