|
1C Messenger для отправки сообщений, файлов и обмена данными между пользователям | ☑ | ||
---|---|---|---|---|
0
Serginio1
15.12.15
✎
16:12
|
Выложил статью http://catalog.mista.ru/public/434771/ файлы лежат здесь
http://catalog.mista.ru/public/238584/ Данная разработка позволяет пользователям 1С обмениваться сообщениями, файлами (до 3 мб). Запрашивать данные у клиента как Вэб или HTTP сервисах. Основано на технологиях ASP.Net SignaR который использует WebSockets и т.д. для двунаправленного обмена данными. Используется обертка над классами .Net В свое время делал клиента для Whats App, и многие приемы взяты оттуда. Но постоянно они что-то меняют. Плюс нельзя отправлять любые файлы, использовать клиента как web сервис и т.д. Это продолжение v8: v8: Использование сборок .NET в 1С 7.x и 8.x и Динамическая компиляция для использования .Net событий в 1С Но уже с реальным примером. Может кого и заинтересует |
|||
1
bse
15.12.15
✎
16:22
|
пользователи должны работать а не сообщениями обмениваться
|
|||
2
vhl
15.12.15
✎
16:23
|
(0) смайлов нет? В топку!
|
|||
3
Serginio1
15.12.15
✎
16:33
|
(1) Часто нужно автоматически передавать сообщения об оновлении и тд с сервера
(2) Смайлы можно сделать. Все в твоих руках. |
|||
4
vhl
15.12.15
✎
16:49
|
(3) винду тоже можно заново написать, только зачем?
|
|||
5
Serginio1
15.12.15
✎
16:50
|
(4) Не пиши
|
|||
6
Serginio1
15.12.15
✎
16:53
|
(4) Это не совсем мессенджер. Его можно использовать для получения данных например для мобильного от программы 1С подготовленными данными и передачей данных с мобильного клиента. Вариантов куча. Все зависит от задачи
|
|||
7
Serginio1
15.12.15
✎
17:34
|
да надо в пятницу выкладывать
|
|||
8
anatoly
15.12.15
✎
17:49
|
а чем это отличается от ДО ?
|
|||
9
Serginio1
15.12.15
✎
17:55
|
Что такое ДО?
|
|||
10
anatoly
15.12.15
✎
17:56
|
(9) ДокументоОборот
|
|||
11
Timon1405
15.12.15
✎
17:57
|
(10) +Там есть встроенная внутренняя почта с адресной книгой, подгружаемой из аутлука, и вложениями
|
|||
12
Serginio1
15.12.15
✎
17:58
|
(10) Тем как ДО отличается от скайпа,твитера, вэб сервисов, пуш уведомлений
|
|||
13
anatoly
15.12.15
✎
18:04
|
(12) кхм... ДО как раз через ВС можно с чем угодно синтегрировать, +куча доп.фич.
а просто отправлять/принимать почту (с вложениями) - дык все типовые давно умеют. ваш то мессенджер чем лучше? |
|||
14
anatoly
15.12.15
✎
18:07
|
+ (13) я просто в статье вижу сразу кучу кода, но не вижу главного в самом начале - КАКИЕ ПРЕИМУЩЕСТВА?
|
|||
15
Serginio1
15.12.15
✎
18:07
|
(13) Это не только мессенджер. Ты можешь программно запросить данные у другого клиента используя его как вэб сервер, можно отключать всех без постоянного чтения констант экономя ресурсы итд
|
|||
16
Serginio1
15.12.15
✎
18:09
|
(14) А вообще переписываться через почту это еще то извращение. Предпочитаю Скайп
|
|||
17
Serginio1
15.12.15
✎
18:12
|
(14) Можно отправлять данные на мобильные телефоны. Я побаловался с Xamarin под Андроид. Работает, но еще сыровато
|
|||
18
Serginio1
15.12.15
✎
18:36
|
Ну вот и последователи появились http://www.forum.mista.ru/index.php
|
|||
19
Serginio1
16.12.15
✎
15:57
|
Интересно какими разработками можно заинтересовать людей?
Кстати http://www.forum.mista.ru/index.php очень здорово оформлена |
|||
20
Гёдза
17.12.15
✎
10:20
|
(19) Любыми. Правильный вопрос КАК?
|
|||
21
Serginio1
17.12.15
✎
10:38
|
(20) Например в 14 человек видит только кучу кода. И для него почта это все. И зачем люди придумали кучу мессенджеров,
Вэб, HTTP сервисов? В данной разработке, я показал только как можно использовать дуплексный обмен данными. А вот нужную реализацию нужно развивать от существующих задач. |
|||
22
Гёдза
17.12.15
✎
10:45
|
(21) Тебе бы курс по написанию тех статей пройти
|
|||
23
Serginio1
17.12.15
✎
11:06
|
(22) ну так как в 19 я не смогу. Нет у меня художественного видения.
|
|||
24
bzs015
17.12.15
✎
11:08
|
Было в других программах 1С - ЭДО, а стало ДО?
|
|||
25
los_hooliganos
17.12.15
✎
11:13
|
(19) Что там за ссылка?
|
|||
26
Serginio1
17.12.15
✎
11:13
|
(24) Это не ко мне. Я в 9 тоже не понял.
Кстати в картинке к статье есть интересное сообщение. Никто на него не обратил внимания |
|||
27
Serginio1
17.12.15
✎
11:14
|
(25) Прошу прощения http://catalog.mista.ru/public/434345/
|
|||
28
Serginio1
18.12.15
✎
14:58
|
Делая эту разработку подумалось, а почему бы 1С не предусмотреть подписку на серверные события. Например для SQL можно подписаться на события изменения таблиц.
SqlCacheDependency https://msdn.microsoft.com/library/system.web.caching.sqlcachedependency(v=vs.100).aspx http://habrahabr.ru/post/240269/ Аналогично, можно создать подписку на серверные события которые можно определять самим используя аналог SignalR типа Push уведомлений при изменении редко изменяющихся значени http://metanit.com/sharp/mvc5/16.5.php Можно держать постоянные данные на клиенте, что бы не ползать за данными на сервер итд. |
|||
29
Гёдза
18.12.15
✎
15:06
|
(28) У 1с нет таблиц ))) есть объекты
|
|||
30
Гёдза
18.12.15
✎
15:06
|
а подписки на изменения объектов есть )))
|
|||
31
Serginio1
18.12.15
✎
15:11
|
(30) То есть я из другой сессии могу подписаться на изменение, Можно посмотреть как. А то сейчас больше на 7.7.
Видно отстал от жизни. |
|||
32
Serginio1
18.12.15
✎
15:35
|
Не знаю, как для кого, а для меня была бы удобная штука. Хотя и эту разработку для этого можно и прикрутить
|
|||
33
Гёдза
18.12.15
✎
15:37
|
Я вот одного не могу понять почему ты так упорно и так БЕЗГРАМОТНО пытаешь продвигать свою программу?
|
|||
34
Гёдза
18.12.15
✎
15:38
|
В этом ты похожь на Г1С с его статистическим подходом
|
|||
35
Serginio1
18.12.15
✎
15:43
|
(34) В данном случае пока разговор о пуш уведомлениях.
Вопрос какую из многих я безграмотно продвигаю? Я делюсь опытом, если, что непонятно спрашивай. |
|||
36
Злопчинский
18.12.15
✎
16:00
|
(31) а вот это мне очень интересно! хочу простым и безгеморройным образом иметь в текущей сесиии "уведомления" об изменении разных типов объектов, вплоть например документов одного типа но с определенным набором ключевых реквизитов.
Сами уведомления по сессиям далали уже давно, например на NetaInet пример Садовникова |
|||
37
Злопчинский
18.12.15
✎
16:00
|
и если что - я про клюшки
|
|||
38
Serginio1
18.12.15
✎
16:04
|
(36) Чуть позже сделаю обработку и для 7.7
Там несложно нужно применить врап.СоздатьОберткуДляСобытий77(NetОбъект); Здесь http://catalog.mista.ru/public/417830/ подробно написано. |
|||
39
Serginio1
18.12.15
✎
16:07
|
Но для документов нужно немного допиливать. Какие данные отправлять клиенту.
Можно типа Событие Изменения, Тип Вид Элемент |
|||
40
Злопчинский
18.12.15
✎
17:21
|
(39) По сути это типа "подписка на событие" - это может быть изменение чего угодно - и документа и справочника и регистра
|
|||
41
Злопчинский
18.12.15
✎
17:26
|
(38) Коллегна, вы не понимаете.
Представьте - я каменщик, кладу кирипичи. я знаю как класть кирипичи, что нужен раствор, что дом надо строить из влагостойких кирпичей, а печь из огнеупорных. Я прошу у вас кирпичей - а вы мну начинаете рассказывать про процессы геологоразведки и добычи глины и т.д. ;-) Можно для "тупых" как-то попроще = вот кирпичи, они для того-то, класть так-то. Продираться через все это интересное мегаописание процесса добычи глины и изготовления кирпичей - ну не с руки, понятно что там где-то есть слева за углом штабелем и сами кирпичи, но есть шанс чтоя не дойду налево за угол, сопьюсь по дороге.. ;-) |
|||
42
Serginio1
18.12.15
✎
17:58
|
Я понимаю. Но для того что бы класть кирпичи ты должен разбираться в кирпичах.
То есть какие данные ты хочешь передавать и получать |
|||
43
Злопчинский
18.12.15
✎
18:10
|
(42) это понятно. я к тому, что (условно) в результате будет некая "ВК" и описание ее "методов". а что там внутри что во что обернуто - совешенно пофиг. Могу быть не прав, но вот такая конструкция
врап.СоздатьОберткуДляСобытий77(ОбертываемыйОбъект,ГлобальныйКонтекст); имхо вылом мозга. мне как программеру ВАЖНО знать что что-то является чем то оберктой? да еще переносить эти сущности/названия на объекты/методы ВК..? как-то попроще хочется, без излишней зауми. На примере взять тот же формекс - куча возможностей, но просто и понятно (Альф - великий чилавек!) http://catalog.mista.ru/blogs/data/0000564/images/small/alf010.jpg http://catalog.mista.ru/blogs/data/0000564/images/small/alf014.jpg http://catalog.mista.ru/blogs/data/0000564/images/small/OZK.jpg |
|||
44
Serginio1
18.12.15
✎
19:35
|
Ты можешь не вдаваясь в врап.СоздатьОберткуДляСобытий77(ОбертываемыйОбъект,ГлобальныйКонтекст);
Напиши какие данные ты хочешь передавать. На выходе получишь Метод с параметрами и ОбработкаВнешнегоСобыти и наименованием события и с данными в объекте. Например, что тебе непонятно в таком коде Перемврап,ОберткаСобытий; Функция СоздатьОбертку(ОбертываемыйОбъект) // В NetObjetToIDispatch.dllреализованклассВКpublicclassGlobalContext1C :IInitDone, ILanguageExtender //для получения глобального контекста при вызове // publicvoid Init([MarshalAs(UnmanagedType.IDispatch)] // object connection) // { // глобальныйКонтекст = connection; // Marshal.GetIUnknownForObject(глобальныйКонтекст); // } ПодключитьВнешнююКомпоненту("AddIn.GlobalContext1C"); объект = СоздатьОбъект("AddIn.GlobalContext1C"); ГлобальныйКонтекст= объект.ГлобальныйКонтекст; ОберткаСобытий= врап.СоздатьОберткуДляСобытий77(ОбертываемыйОбъект,ГлобальныйКонтекст); КонецФункции // СоздатьОбертку // Свойства ОберткаСобытий.ПоследняяОшибка //Событие:String Имя События в котором произошло исключение //Данные:object Параметры события //ИсключениеСобытия:Exception Ошибка произошедшая при вызове события Функция ОшибкаСобытия() ПоследняяОшибка=ОберткаСобытий.ПоследняяОшибка; Сообщить("Не обработано событие "+ПоследняяОшибка.Событие); Сообщить(Врап.ВСтроку(Шаблон("[ОберткаСобытий." + ПоследняяОшибка.Событие+ "]"))); Сообщить("Ошибка"); Сообщить(врап.ВСтроку(ПоследняяОшибка.Исключение)) КонецФункции // Свойства ОберткаСобытий.Changed // sender:System.Object // e:System.IO.FileSystemEventArgs Функция Changed() Сообщить("Changed "+Врап.ВСтроку(ОберткаСобытий.Changed)); КонецФункции // Свойства ОберткаСобытий.Created // sender:System.Object // e:System.IO.FileSystemEventArgs Функция Created() Сообщить("Created "+Врап.ВСтроку(ОберткаСобытий.Created)); КонецФункции // Свойства ОберткаСобытий.Deleted // sender:System.Object // e:System.IO.FileSystemEventArgs Функция Deleted() Сообщить("Deleted "+Врап.ВСтроку(ОберткаСобытий.Deleted)); КонецФункции // Свойства ОберткаСобытий.Error // sender:System.Object // e:System.IO.ErrorEventArgs Функция Error() Сообщить("Error "+Врап.ВСтроку(ОберткаСобытий.Error)); КонецФункции // Свойства ОберткаСобытий.Renamed // sender:System.Object // e:System.IO.RenamedEventArgs Функция Renamed() Сообщить("Renamed "+Врап.ВСтроку(ОберткаСобытий.Renamed)); КонецФункции // Свойства ОберткаСобытий.Disposed // sender:System.Object // e:System.EventArgs Функция Disposed() Сообщить("Disposed "+Врап.ВСтроку(ОберткаСобытий.Disposed)); КонецФункции Процедура ПриОткрытии() врап=СоздатьОбъект("NetObjectToIDispatch45"); КонецПроцедуры // ПриОткрытии //====================================================================== Процедура ОбработкаВнешнегоСобытия(Источник, ИмяСобытия, Данные) Если Источник = "System_IO_FileSystemWatcher" Тогда Шаблон("[" + ИмяСобытия+ "()]"); КонецЕсли; КонецПроцедуры // ОбработкаВнешнегоСобытия |
|||
45
Serginio1
18.12.15
✎
19:39
|
При этом весь этот код генерится автоматически. Тебе только нужно прописать свой код в событиях
|
|||
46
Serginio1
18.12.15
✎
20:03
|
Ты хоть для интереса скачал Динамическая компиляция для использования .Net событий в 1С
|
|||
47
Злопчинский
18.12.15
✎
20:43
|
(46) нет, не скачал, потому как не занимаюсь ни Net, ни компилияцией, тем более динамической, ни прикручиваением внешних всяких фишек к 1С (не умею/не мое)
(45) спасибо, похожее на то что надо. Смотреть буду позднее. список чего мне надо мониторить для изменений (доки, справочники, констаныт и прочая всякая) - опишу позднее, если не сломаюсь. Самый минимум который нужен: 1. факт изменения справочника "Номенклатура" (с ссылкой на конкретный элемент) в т.ч. при удалениях, снятиях удаления, перемещения из группы в группу (смена владельца) - в т.ч. оповещение должно приходить и при интерактивных действиях пользователя в соседних сессиях и при программных (если скопом в транзакции изменено множество элементов - както получить такой список). 2. аналогично п.1 - для Справочник.Единицы (Подчинен номенклатуре, в т.ч при смене владельца) 3. изменение Документ.ЗаявкаПокупателя - в т.ч. проведение, распроведение, удаление, снятие удаления, сдвиг по оси времени 4. факт изменения ГраницыПоследовательности - для начала можно тренирнуться на этом. если конечно это реально. то есть грубо говоря я хочу иметь подписку практически на каждый чих в соседней сесии, который влечет за собой изменения данных... |
|||
48
Serginio1
18.12.15
✎
20:53
|
Ты можешь его иметь. От меня нужна только функция которая отправляет оповещения и обертка с событиями которая будет вызывать внешнее событие.
Ты мне должен назвать сигнатуру метода. Параметры этой функции будут доступны при оповещении. А так скачай и посмотри примеры на 1С 7.7 |
|||
49
Злопчинский
18.12.15
✎
21:03
|
(48) "Ты мне должен назвать сигнатуру метода."
- я вот тут не понял, это что такое..? откуда я ее возьму чтобы тебе дать? |
|||
50
Serginio1
18.12.15
✎
21:11
|
А я рткуда возьму, что тебе надо&
Например ОтправитьСообщениеОбИзменении(ЗначениеВСтрокуВнутр(ИзмененныйОбъект)) Соответственно при оповещении // ОберткаСобытий.Changed :System.String Функция Changed() Сообщить("Changed "+Врап.ВСтроку(ОберткаСобытий.Changed)); Объект=ЗначениеИзСтрокиВнутр(ОберткаСобытий.Changed); ну и дальше твои действия КонецФункции //====================================================================== Процедура ОбработкаВнешнегоСобытия(Источник, ИмяСобытия, Данные) Если Источник = "КлассОбработчикСобытия" Тогда Шаблон("[" + ИмяСобытия+ "()]"); КонецЕсли; КонецПроцедуры// ОбработкаВнешнегоСобытия |
|||
51
Serginio1
19.12.15
✎
00:20
|
Например сейчас есть отправка команд
public async Task ВычислитьВыражение(string Кому, string Команда, string ДанныеСтр) { var Данные = UTF8Encoding.UTF8.GetBytes(ДанныеСтр); await ВычислитьВыражение(Кому,Команда,Данные).ConfigureAwait(false); } То есть мы все параметры сериализуем в строку, а при получении десериализуем. Что выберешь, то и сделаю |
|||
52
Злопчинский
19.12.15
✎
01:14
|
(50) а ОтправитьСообщениеОбИзменении - это тоже будет твоя функция? Ее код какой примерно?
|
|||
53
Serginio1
19.12.15
✎
08:49
|
(52) Аналогично (51) Ты почитай статью и ссылки. Там ничего сложного нет.
public async Task ВычислитьВыражение(string Кому,string Команда,byte[] Данные) { bool ДанныеСжаты; byte[] данные = ПолучитьДанныеДляОтправки(Данные, out ДанныеСжаты); // EvaluteCommand(string Кому, string command, byte[] Data, bool isCompressed) await myHub.Invoke("EvaluteCommand", Кому,Команда, данные, ДанныеСжаты).ConfigureAwait(false); } |
|||
54
Serginio1
19.12.15
✎
08:55
|
Например отправить сообщение выглядит так
public async Task ОтправитьСообщение(string Сообщение, string Кому) { await myHub.Invoke("SendEcho", Сообщение, Кому).ConfigureAwait(false); } Ты главное определись какие данные хочешь отправлять |
|||
55
Serginio1
19.12.15
✎
09:04
|
byte[] ПолучитьДанныеДляОтправки(byte[] Данные, out bool ДанныеСжаты)
{ var данные = Данные; ДанныеСжаты = false; var сжатыеДанные = СжатьДанные(Данные); if (сжатыеДанные.Length < данные.Length) { данные = сжатыеДанные; ДанныеСжаты = true; } return данные; } |
|||
56
Serginio1
19.12.15
✎
10:19
|
То есть ты можешь сказать какая сигнатура метода тебе нужна и я её реализую.
|
|||
57
Злопчинский
19.12.15
✎
13:16
|
(56) я не понимаю что такое "сигнатура метода"
и "ОтправитьСообщениеОбИзменении" - это что за функция - она вызывает методы твоей ВК? Примерный код ее какой? |
|||
58
Злопчинский
19.12.15
✎
13:17
|
(53) не хочу принципиально идти глину искать в тайге
|
|||
59
Serginio1
19.12.15
✎
13:53
|
Ну ты лентяй https://www.google.ru/search?as_sitesearch=forum.mista.ru&q=Serginio1+Des&gws_rd=ssl#newwindow=1&q=сигнатура+метода
Сигнатура метода это параметры и их тип (58) А стоит почитать. Программисту все понятно. ОтправитьСообщениеОбИзменении это предложенная мною тебе метод который принимает 1 параметр типа строка. |
|||
60
Serginio1
19.12.15
✎
13:55
|
||||
61
Serginio1
19.12.15
✎
13:56
|
(58) Когда ты хочешь применить технологию, стоит понять как она работает
|
|||
62
Злопчинский
19.12.15
✎
14:19
|
(61) нафейхоа? моя задача как шоферюги выбрать наилучший путь чтобы груз с меньшими издержками довезти куда надо. Для этого не начинаю разбираться в технологиях укладки асфальта и внутренностях двигателя. Я ж не на багги еду который сам сварил...
|
|||
63
Злопчинский
19.12.15
✎
14:20
|
(59) не хочу читать, ибо я не программист. потому что программисты пишуть такую хрень, которая работает но работать с ней невозможно нормально.
|
|||
64
Злопчинский
19.12.15
✎
14:26
|
давай тогда попроще. с маленького.
дай мне фигнюшку, с помощью которой я могу получать в текущей сессии инфу об изменении (пофиг о каком, просто факт изменения) элемента(ов) справочник.номенклатуры. что где делать? 1. то что при старте системы надо подгрузит ВК - я понял ;-) 2. ? |
|||
65
Serginio1
19.12.15
✎
14:59
|
(64) Ну скачай 46. Там есть пример динамической компиляции на примере изменения директории. По сути передача изменений та же суть. Только требует IIS
|
|||
66
Serginio1
19.12.15
✎
15:02
|
Не обращай внимание на динамической компиляции. Просто подключение к событиям как в 8ке ПодключитьОбработчик
|
|||
67
Злопчинский
19.12.15
✎
15:03
|
(65) не буду пок аничего качать. меня пугают ваши слова. "динамическая копиляция" - нафига он амне - девелоперу?
и IIS у меня нет. |
|||
68
Злопчинский
19.12.15
✎
15:04
|
(66) не могу. там много словов. я в них путаюсь.
|
|||
69
Serginio1
19.12.15
✎
15:25
|
IIS есть на любом Win. Просто для вэб сокетов нужно от Win 8 и выше. http://professorweb.ru/my/ASP_NET/sites/level3/3_1.php
Для того, что бы помотреть как работает подключение к событиям IIS не требуется/ А подключение к событиям элементарно ПодключитьВнешнююКомпоненту("AddIn.GlobalContext1C"); объект = СоздатьОбъект("AddIn.GlobalContext1C"); ГлобальныйКонтекст= объект.ГлобальныйКонтекст; ОберткаСобытий= врап.СоздатьОберткуДляСобытий77(ОбертываемыйОбъект,ГлобальныйКонтекст); |
|||
70
Злопчинский
19.12.15
✎
15:27
|
ОбертываемыйОбъект - есть что?
|
|||
71
Злопчинский
19.12.15
✎
15:27
|
первые три строки - вроде понятно...
|
|||
72
Serginio1
19.12.15
✎
15:36
|
(71) Ну вот видишь. Возьмем для примера, то, что не хочешь скачать.
Начнем с начала Процедура ПриОткрытии() // Врап это объект для обертки нетовских Классов, объектов врап=СоздатьОбъект("NetObjectToIDispatch45"); врап.УстЭтоСемерка(); КонецПроцедуры // ПриОткрытии //====================================================================== |
|||
73
Serginio1
19.12.15
✎
15:39
|
// FileSystemWatcher это нетовский объект следящий за изменением директории
watcher= врап.СоздатьОбъект("System.IO.FileSystemWatcher, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"); // Устанавливаем необходимые реквизиты где следим, и за чем следим Директория=Каталог; watcher.Path = Директория; true=врап.ChangeType("System.Boolean","true"); false=врап.ChangeType("System.Boolean","false"); watcher.Filter = "*.*"; ДелегатИЛИ=ПолучитьМетод(); NotifyFilters=врап.ПолучитьТип("System.IO.NotifyFilters"); рез=Или2(NotifyFilters.LastAccess,Или2(NotifyFilters.LastWrite,Или2(NotifyFilters.FileName,NotifyFilters.DirectoryName))); // Сообщить(Врап.ВСтроку(рез)); watcher.NotifyFilter=рез; watcher.IncludeSubdirectories = true; watcher.EnableRaisingEvents = true; СоздатьОбертку(watcher); |
|||
74
Злопчинский
19.12.15
✎
15:45
|
(73) ну допустим в целом понятно, хотя дохрена неодинэсных букв с которыми разобраться еще надо. но мне-то для моей задачи - отследить изменеие спрачоника.номенклатура - нафейхоа это?
|
|||
75
Злопчинский
19.12.15
✎
15:46
|
из полезного только - ПриОткрытии()
|
|||
76
Serginio1
19.12.15
✎
15:54
|
(74) Это не важно. Есть некоторые свойства которые ты должен установить. Описание всех свойств и методов можешь посмотреть здесь https://msdn.microsoft.com/ru-ru/library/system.io.filesystemwatcher(v=vs.110).aspx
Теперь к твоей задаче. При изменении ты должен вызвать метод с парамтрами, которые будут разосланы вмем подписчикам. А вот , что нужно передавать ты должен решать сам |
|||
77
Serginio1
19.12.15
✎
16:40
|
Ну еще вариант, это подписка на события к Ms SQL
http://www.codeproject.com/Articles/144344/Query-Notification-using-SqlDependency-and-SqlCach |
|||
78
Serginio1
19.12.15
✎
23:56
|
Есть два подхода.
1. Вызывать оповещение при записи, ОбработкаПроведения 2. Использовать оповещение Sql сервера и оповещать из того же Asp.Net https://msdn.microsoft.com/ru-ru/library/system.data.sqlclient.sqldependency(v=vs.110).aspx |
|||
79
Злопчинский
20.12.15
✎
00:07
|
(78) ну... База файловая
|
|||
80
Serginio1
20.12.15
✎
00:58
|
(78) Значит вариант 1
|
|||
81
Serginio1
20.12.15
✎
09:14
|
(79) Можно упростить, так как семерка только в локальной сети, можно использовать TCP/IP
http://www.codeproject.com/Articles/596287/Broadcasting-Events-with-a-Duplex-WCF-Service |
|||
82
Serginio1
21.12.15
✎
11:17
|
(79) Ну, что решил ...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |