if (MessageQueue.Exists(queueName))
    {
      queue = new MessageQueue (queueName);
    }
    else
    {
      queue = MessageQueue.Create(@".\Private$\TestQueue");
    }

    lblInfo.Text += "Creating dependent item...<br />";
    Cache.Remove("Item");
    MessageQueueCacheDependency dependency = new
      MessageQueueCacheDependency(queueName);
    string item = "Dependent cached item";
    lblInfo.Text += "Adding dependent item<br />";
    Cache.Insert("Item", item, dependency);
  }
}

Когда вы щелкнете на кнопке Send Message (Послать сообщение), простое текстовое сообщение отправляется в очередь, и его почти немедленно принимает класс пользовательской зависимости:

protected void cmdModify_Click(object sender, EventArgs e)
{
  MessageQueue queue = new MessageQueue(queueName);
  // (Вместо строки можно послать пользовательский объект)
  queue.Send("Invalidate!");
  lblInfo.Text += "Message sent<br />";
}

Чтобы узнать больше об очередях сообщений, обратитесь к соответствующим книгам.

Резюме

В этой главе было подробно рассмотрено кэширование, являющееся одним из важнейших средств ASP.NET, которое было значительно усовершенствовано в ASP.NET 2.0. Если вы — профессиональный программист на ASP.NET, то должны изначально, приступая к проектированию, не упускать из виду стратегии кэширования. Кэширование важно, в частности, когда применяются элементы управления источниками данных, которые оказывают существенное влияние на производительность приложений, потому что повторяют запросы к базе данных при каждом запросе страницы.

 

 

 

 

предыдущая    следующая страница    вначало главы    оглавление

520

Hosted by uCoz