Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Общение через АДО.NET ! / 9 сообщений из 9, страница 1 из 1
21.06.2008, 21:54
    #35386722
Leximus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение через АДО.NET !
Привет друзья и коллеги!
У меня возник такой вопрос, можно ли передавать сообщения через ADO.NET соединение от пользователя к пользователю? Например обновил ты данные и надо другим пользователям об этом сообщить. Можно конечно переодически, раз в минуту например, обновлять данные, но это может сеть загрузить...
Подскажите позжалуйста более опытные пользователи!
Спасибо всем за помощь!
...
Рейтинг: 0 / 0
21.06.2008, 23:13
    #35386773
SQL_Lamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение через АДО.NET !
Пользователям чего?
Вашей проги? БД? Виндовс? Этого форума?
...
Рейтинг: 0 / 0
21.06.2008, 23:15
    #35386775
Leximus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение через АДО.NET !
Пользователи моей программы конечно!
...
Рейтинг: 0 / 0
21.06.2008, 23:54
    #35386786
SQL_Lamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение через АДО.NET !
Вообще не понимаю, при чем здесь АДО...
У вас есть класс, работающий с базой(обновить, удалить все такое),
и вы хотите уведомлять пользователей об этих событиях?
При чем здесь вообще АДО?
Создате собственное событие, происходящее при обновлении данных, и подписываетесь на это событие.
...
Рейтинг: 0 / 0
22.06.2008, 00:34
    #35386804
Leximus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение через АДО.NET !
SQL_LamerВообще не понимаю, при чем здесь АДО...
У вас есть класс, работающий с базой(обновить, удалить все такое),
и вы хотите уведомлять пользователей об этих событиях?
При чем здесь вообще АДО?
Создате собственное событие, происходящее при обновлении данных, и подписываетесь на это событие.

Тоесть ADO.NET позволяет както подписываться на события, например на добавление новых данных в таблице?
...
Рейтинг: 0 / 0
22.06.2008, 08:48
    #35386895
SQL_Lamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение через АДО.NET !
Адо тут совершенно не при чем
У вас, скажем, есть класс для работы с базой данных, там методы, типа:
Update(), Delete(), Insert().
И вот вы хотите, к примеру, чтобы определенные юзеры получали уведомление при удалении данных(или при добавлении, не важно).Письма вы там им собираетесь слать или смс - тоже ваше дело.
Вы создаете свое событие, возникающее при вызове вышеозначенных методов, и подписываетесь на это событие, ну а там уж вам решать, что дальше делать.

Если ни разу не создавали собственные события - в любой книжке - глава "Делегаты".
...
Рейтинг: 0 / 0
22.06.2008, 09:38
    #35386900
SQL_Lamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение через АДО.NET !
Внезапно охватил энтузиазм:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
    // 1 .-------------------------------------------------

    class UpdateEventArgs : EventArgs
    {
        public UpdateEventArgs(Int32 id, Int32 count)
        {
            m_id = id;
            m_count = count;
        }

        private Int32 m_id;
        public Int32 ID 
        { 
            get { return m_id; } 
        }

        private Int32 m_count;
        public Int32 Count 
        { 
            get { return m_count; } 
        }
    }

    // 2 .---------------------------------------------

    class DataAccess
    {
        public delegate void UpdateEventHandler(Object sender, UpdateEventArgs e);

        public event UpdateEventHandler OnChange;

        public void UpdateData(Int32 id, Int32 count)
        {
            if (count ==  0 ) return;

            //code to update database...

            UpdateEventArgs e = new UpdateEventArgs(id, count);

            if (OnChange != null)
                OnChange(this, e);
        }
    }


    // 3 .---------------------------------------------------------------

    class Messenger
    {
        public Messenger(DataAccess dataAccess, String[] users)
        {
            m_dataAccess = dataAccess;

            m_users = users;

            m_dataAccess.OnChange +=
                new DataAccess.UpdateEventHandler(OnChange);
        }

        private DataAccess m_dataAccess;
        private String[] m_users;

        private void OnChange(Object sender, UpdateEventArgs e)
        {
            Console.WriteLine("Product #{0} updated to {1}", e.ID, e.Count);

            foreach (String user in m_users)
                Console.WriteLine("\tSending message to {0}... ", user);
        }
    }

    // 4 .-------------------------------------------------------------------------

    class CTest
    {
        public static void Test()
        {
            String[] users = { "Vasya", "Gosha", "Petya" };

            DataAccess dataAccess = new DataAccess();
            Messenger messenger = new Messenger(dataAccess, users);

            dataAccess.UpdateData( 1 ,  3 );
            dataAccess.UpdateData( 2 ,  5 );
        }
    }
...
Рейтинг: 0 / 0
22.06.2008, 10:08
    #35386905
WYPMAH
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение через АДО.NET !
Leximus
первое, если уж и делать такое, то как вариант рассмотрите следующее: табличка логов, триггеры на апдейт/инсерт/делит у нужной таблички, в программе реализовать лог смотрелку, в зависимости от даты и времени показывать актуальные сообщения.
второе, идея неможно бредовая, толку от неё не вижу совершенно. Актуальность нужно поддерживать всеже средствами БД.
...
Рейтинг: 0 / 0
22.06.2008, 10:10
    #35386906
SQL_Lamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Общение через АДО.NET !
WYPMAH
Согласен :)
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Общение через АДО.NET ! / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]