private void WaitForMessage(object state)
{
// Здесь проверить ресурс (опрос).
// Блокируется, пока сообщение не поступит в очередь.
Message msg = queue.Receive();
// (Если вам нужно что-то специфическое, здесь можно выполнить
// цикл для проверки объекта Message,
// перед объявлением кэшируемого элемента недействительным.)
base.Notify.DependencyChanged(this, EventArgs.Empty);
}
}
Чтобы протестировать этот класс, вы можете переделать рассмотренную ранее версию тестовой страницы, где проверялась работа файловых зависимостей (рис. 11.8).
Рис. 11.8. Проверка зависимости от очереди сообщений
Эта страница создает новый приватный кэш на текущем компьютере и затем добавляет новый элемент в кэш, устанавливая его зависимость от очереди:
private string queueName = @".\Private$\TestQueue"
// Ведущая точка представляет текущий компьютер.
// Последующее Private$ означает, что это - приватная очередь
// для данного компьютера.
// ТеstQueue - имя очереди (вы можете его изменить).
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
// Установка очереди.
MesaageQueue queue;
предыдущая следующая страница вначало главы оглавление
519