Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
alexeyvg, Так этот вариант ТС упоминал: "постоянный опрос сервера с каждого клиента" А он хочет заменить опросы на вызовы клиента со стороны сервера при наступлении некоего события (что в теории правильно, хотя есть вопрос, стоит ли это такого геморроя). да я в целом согласен. это просто альтернатива выборке из таблиц что бы не нагружать сервер множествеными запросами типа "а есть чо?" в таком же исполнении работает waitfor (receive) для брокера. ну а если мы хотим совсем альтернативу callback-вызова с сервера на клиент, то на ум приходит такое: внутри клиента создается служба-сервер (можно обычный REST/SOAP сервис) при подключении к сиквелу клиент регистрирует себя для обратного вызова на сиквеле какой нибудь хранимкой вызов аля: Код: sql 1. собственно при возникновении события сервер знает какие клиенты на него подписаны и отправляет обычный POST запрос средств уйма: CLR / sp_OA / ssis / cmdshell единственная сложность будет отслеживание отвалившихся сессий, поскольку по хорошему при выходе клиент должен будет вызывать Unregister, но есть варианты когда приложение крашится и.т.д ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 00:01 |
|
||
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenkoalexeyvg, Или не подошло, или этот SqlDependency вообще странно работает. Уже несколько раз перебрал и код, и документацию - единственное к чему можно прикопаться, это вот эти вот права для пользователя на сервере. не могу даже представить что может пойти не так :) тестовый пример заводится с пол оборота.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 09:08 |
|
||
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenkoalexeyvg, Или не подошло, или этот SqlDependency вообще странно работает. Уже несколько раз перебрал и код, и документацию - единственное к чему можно прикопаться, это вот эти вот права для пользователя на сервере. Как сказал классик: не умножайте сущности. Ваша задача решается при помощи SqlDependency без всяких трехзвенок, MSMQ и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 11:12 |
|
||
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoКто в курсе - можно ли как-то выдать гранты одновременно для любого юзера, который подключается через Windows Authentication? Для существующих и будущих юзеров? Возможно, есть какой-то подходящий псевдоним? А то что-то нотификации не приходят. И есть подозрение, что проблема в этом моменте: Ага. Называется "Ваш домен\All Users", емнип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 12:01 |
|
||
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
alexeyvgТак для пользователя, которому явно дали такие права (не через паблик, а ему самому), работает? Я не пробовал, если честно. В моем случае такое решение в любом случае не катит - потому что юзеры подключаются через эту самую вин. авторизацию, которую я не контролирую никак. Т.е. не контролирую появление новых юзеров, которые могут подключаться к БД. А соответственно нет возможности автоматически выдавать им соответствующие права. alexeyvgА пример кода от MS не подходит? https://code.msdn.microsoft.com/How-to-use-SqlDependency-5c0da0b3 Блин, именно этот пример мне не попадался. Спасибо. Может попробую :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 14:41 |
|
||
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
MinamotoVadim RomanenkoКто в курсе - можно ли как-то выдать гранты одновременно для любого юзера, который подключается через Windows Authentication? Для существующих и будущих юзеров? Возможно, есть какой-то подходящий псевдоним? А то что-то нотификации не приходят. И есть подозрение, что проблема в этом моменте: Ага. Называется "Ваш домен\All Users", емнип. Вот блин. Надо будет попробовать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 14:46 |
|
||
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
TaPaKVadim Romanenkoalexeyvg, Или не подошло, или этот SqlDependency вообще странно работает. Уже несколько раз перебрал и код, и документацию - единственное к чему можно прикопаться, это вот эти вот права для пользователя на сервере. не могу даже представить что может пойти не так :) тестовый пример заводится с пол оборота.... Вот и я не могу. Но что-то идет не так. Причем какие-то запросы - вижу - уходят на сервер, но там все через некие внутренние сущности. Потому не могу сходу понять что же оно там опрашивает. Но коллбек в любом случае не срабатывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 14:49 |
|
||
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoMinamotoпропущено... Ага. Называется "Ваш домен\All Users", емнип. Вот блин. Надо будет попробовать :) I'd say better to use "AUTHORITY\Authenticated Users". Allows you to add permissions for logged to domain users (guests excluded). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 16:11 |
|
||
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoalexeyvgТак для пользователя, которому явно дали такие права (не через паблик, а ему самому), работает? Я не пробовал, если честно. В моем случае такое решение в любом случае не катит - потому что юзеры подключаются через эту самую вин. авторизацию, которую я не контролирую никак. Т.е. не контролирую появление новых юзеров, которые могут подключаться к БД. А соответственно нет возможности автоматически выдавать им соответствующие права.Это нужно попробовать, что бы понять, что не работает. Вы ведь пока что "придумали" это препятствие, вы же не знаете, что на самом деле не так. Т.е. вам сначала нужно сделать работающий тестовый пример, а потом уже разбираться, как обойти ограничение "права для вин-пользователей". А вы делаете наоборот - у вас не работает, и вы придумали, что не работает из за прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 17:27 |
|
||
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
alexeyvgVadim Romanenkoпропущено... Я не пробовал, если честно. В моем случае такое решение в любом случае не катит - потому что юзеры подключаются через эту самую вин. авторизацию, которую я не контролирую никак. Т.е. не контролирую появление новых юзеров, которые могут подключаться к БД. А соответственно нет возможности автоматически выдавать им соответствующие права.Это нужно попробовать, что бы понять, что не работает. Вы ведь пока что "придумали" это препятствие, вы же не знаете, что на самом деле не так. Т.е. вам сначала нужно сделать работающий тестовый пример, а потом уже разбираться, как обойти ограничение "права для вин-пользователей". А вы делаете наоборот - у вас не работает, и вы придумали, что не работает из за прав. Да, Вы абсолютно правы. Но на данный момент у меня закончилось время на изыскания и я сдался. Запилил банальный таймер, который раз в 30 секунд дергает сервер с вопросом "а есть ли чего нового на сегодня с ИД > предыдущего максимального". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 18:29 |
|
||
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenko, для начала выполнить раздел "Включение уведомлений запросов" по указанной ссылке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 18:32 |
|
||
|
Уведомление клиентов об изменениях на сервере
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoalexeyvgЭто нужно попробовать, что бы понять, что не работает.Да, Вы абсолютно правы. Но на данный момент у меня закончилось время на изыскания и я сдался.Это как раз потому, что вы не попробовали на обычном пользователе. Это же классика отладки - не делать много действий сразу, не пытаться запустить сразу что то большое и сложное. Но если вас устраивает периодический опрос, то можно и так, если операторов немного, а время реакции допустимо большое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2019, 21:45 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39854282&tid=1687355]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 390ms |

| 0 / 0 |
