Программное обеспечение вычислительной техники и автоматизированных систем

Автор работы: Пользователь скрыл имя, 18 Февраля 2013 в 21:39, лабораторная работа

Краткое описание

Цель:. Обучение работе с объектами NET Remoting ObjectByValue, ObjectByReference (WellKnown ( Singleton, SingleCall), ClientActivated) и несколькими каналами (HTTP, OPC) в приложении.
Навыки:. Создание северного и клиентского приложения с использованием NET Remoting
Задача: Серверная часть: Необходимо создать сервер. NET Remoting обрабатывающий запросы по каналу HTTP (порт 13000), имеющий следующую архитектуру (схематично).

Вложенные файлы: 1 файл

лаба1.doc

— 149.00 Кб (Скачать файл)

            ID = 8;

        }

 

        ~WellKnownSingleton()

        {

            Logging.Log("Удален объект WellKnownSingleton");

        }

 

        public int incID()

        {

            ID = ID + 1;

            return ID;

        }

        public List<RecordDataObject> GetPersistentData()

        {

            Logging.Log("Запрошены данные с синглтон объекта");

            return recordData;

        }

 

        public List<string> SetPersistentData(List<RecordDataObject> ins, List<RecordDataObject> upd, List<RecordDataObject> del)

        {

            List<string> list = new List<string>();

 

            if (ins != null)

                foreach (RecordDataObject rec in ins)

                    recordData.Add(rec);

 

            bool bUpdated = false;

            if (upd != null)

                    foreach (RecordDataObject rec in upd)

                    {

                        bUpdated = false;

                        foreach (RecordDataObject item in recordData)

                        {

                            if (rec.ID == item.ID)

                            {

                                item.field1 = rec.field1;

                                item.field2 = rec.field2;

                                bUpdated = true;

                                break;

                            }

                        }

                        if (bUpdated == false)

                        {

                            list.Add("Не удалось отредактировать  запись " + rec.field1.ToString() + "   " + rec.field2.ToString());

                        }

                    }

 

            bool bDeleted = false;

            if (del != null)

                foreach (RecordDataObject rec in del)

                {

 

                    foreach (RecordDataObject item in recordData)

                    {

                        bDeleted = false;

                        if (rec.ID == item.ID)

                        {

                            recordData.Remove(item);

                            bDeleted = true;

                            break;

                        }

                    }

 

                    if (bDeleted == false)

                    {

                        list.Add("Не удалось удалить запись " + rec.field1.ToString() + "   " + rec.field2.ToString());

                    }

 

                }

 

            Logging.Log("Данные синглтон объекета обновлены");

            return list;

        }

    }

}


Информация о работе Программное обеспечение вычислительной техники и автоматизированных систем