Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с SqlCacheDependency 
:(
    Опции темы
CrotBuddhist
Дата 4.5.2007, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 4.8.2006

Репутация: нет
Всего: нет



Использую ASP.NET 2.0 и MSSQL2005.
Вот код для создания зависимости кэша от данных в базе.
Код
List list = new List();
using (SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["CachingString"].ConnectionString))
{
string query = "SELECT Id FROM Sport.dbo.Users ";
using (SqlCommand cmd = new SqlCommand(query, con))
{
SqlDependency depend = new SqlDependency(cmd); SqlDependency.Start(con.ConnectionString);
depend.OnChange += new OnChangeEventHandler(MyOnChanged);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
list.Add(rdr[0].ToString());
rdr.Close();
}
}
static void MyOnChanged(object caller, SqlNotificationEventArgs e)
{

String msg = "Notified"; 
}

Для поддержки нотификаций на уровне базы включал следующие настройки:
Код
ALTER DATABASE Sport SET ENABLE_BROKER

проверял командой 
Код
select is_broker_enabled from sys.databases where name = 'Sport'

и убедился,что брокер включён.
Код
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO myUser

Однако, когда в базе руками удаляю, изменяю записи из данной таблицы - в метод MyOnChanged
я не попадаю, значит нотификация не приходит.
Также пробовал включать CLR on SQL Server вот таким образом:
Код
EXEC sp_configure 'show advanced options', '1'
go
RECONFIGURE
go
EXEC sp_configure 'clr enabled', 1
go
RECONFIGURE

Не помогло.
В чём могут быть грабли - как правильно настроить базу, чтобы нотификации работали и об изменениях знала бы ASP.NET.
Знаю, что можно настраивать уведомления с помощью aspnet_regsql(это необходим0, если используешь MSSQL 2000) - но я хочу разобраться именно в связке ASP.NET 2.0 и MSSQL2005.
Буду благодарен за любые советы.

M
Дрон
Пользуйся кнопкой код. Так читать проще.


Это сообщение отредактировал(а) Дрон - 4.5.2007, 20:27
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0856 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.