Определите, был ли SQLDePendency.Start (ConnectionString) был вызван в текущем проекте?

StackOverflow https://stackoverflow.com/questions/8971852

Вопрос

Наши приложения используют много общих компонентов.Некоторые из них не нуждаются в кэшировании, например, Windows Services, которые обрабатывают безразрешенные электронные письма.Вы никогда не кэшируете это набор результатов ...

Проблема, поскольку наш общий слой данных был изменен для использования SQLCACHEDECTECTECTENCE, наших сервисов, которые не запускают SQLDependentence Fail в базе данных, которые уровень данных запрашивает объект SQLCachedEpenceence.

Что приводит к вопросу - есть ли путь для наших классов данных для тестирования, чтобы увидеть, будет ли служба брокера (т. Е. SQLDependency.Start (ConnectionString) называется)?

Сам объект SQLDEpendentency не имеет включенного или аналогичного свойства.Есть ли какие-либо способы принудительного приложения приложения для , скажите слой данных, которые используется для слоя данных для определения состояния?

Это было полезно?

Решение

в значительной степени ответ нет.Мы завершили добавление переменную конфигурации, что если false или нет, приводит к тому, что запрос на использование SQLCACHEDECEDECTENCE.

Другие советы

Выбрать * из Sys.service_Queues, где называется «SQLQUERYNOTIESESSERVICE -%»

Возвращает a 'sqlquerynotificationservice- [какой-то GUID]'

И если вы посмотрите глубоко в непубличных членах SqldeCendency _serveruserhash при отладке в IDE, вы найдете коллекцию, содержащую эту же въездную запись.Если Microsoft будет такой доброй, чтобы разоблачить это, то да.

В моем случае у меня есть классная библиотека, которая используется некоторыми веб-приложениями.Поэтому у меня нет app.config.Я также использую SQLCACHEDECEDECTENCE в статическом событии.Так что я использую статический булевой, как:

if (!isCachingEnabled)
  isCachingEnabled = SqlDependency.Start(builder.ProviderConnectionString);
.

до сих пор работает, но я открыт для предложений при использовании классовых библиотек.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top