Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Remoting+SqlConnection / 6 сообщений из 6, страница 1 из 1
15.02.2007, 11:29
    #34332575
HiMik2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remoting+SqlConnection
Пытаюсь реализовать многомодульное приложение.
(Идея заключается в том, что хостовое приложение загружает при работе (а потом и выгружает) кучу сборок и передаёт им объект SqlConnection.)

Создаю новый домен приложения загружаю в него сборку и передаю туда SqlConnection.
При попытке присвоить его SqlCommand.Connection возникает ошибка - "Служба удалённого взаимодействия не может найти поле "ObjectID" в типе System.Data.SqlClient.SqlConnection"
Интересно, что строку подключения из этого объекта можно вытащить.
Насколько я понимаю, прокси сериализует объект SqlConnection для передачи в другой домен приложения. Однако класс SqlConnection - не сериализуемый, что понятно.
Можно ли как-то решить данную проблему?
...
Рейтинг: 0 / 0
15.02.2007, 12:07
    #34332739
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remoting+SqlConnection
Перередавайте строку соединения
...
Рейтинг: 0 / 0
15.02.2007, 12:13
    #34332765
HiMik2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remoting+SqlConnection
ИзопропилПерередавайте строку соединения

Не хотелось бы, чтобы каждая из сборок, коих может быть пару десятков, открывала бы своё соединение, к тому же на это уходит время. Хочется использовать одно соединение на всех.
...
Рейтинг: 0 / 0
15.02.2007, 12:29
    #34332855
Roman S. Golubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remoting+SqlConnection
Проблема, которая у Вас возникнет - невозможность выполнения в одном соединении двух запросов одновременно.
Вторая - закрытие соединения одним из компонентов приведет к закрытию соединения другими.

Правильнее будет поступить следующим образом:
1. В родительском домене создать класс, занимающийся всей работой с сервером баз данных (поищите в интернете про DAL).
2. Из дочерних доменов передавать в этот класс данные для обработки, выделив из базового класса общий интерфейс. Для передачи таких
данных очень хорошо подходят DataSetы.

Т.е. дочерний домен вообще ни чего не должен знать про базы данных.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
15.02.2007, 13:03
    #34333020
HiMik2004
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remoting+SqlConnection
Roman S. Golubin
Проблема, которая у Вас возникнет - невозможность выполнения в одном соединении двух запросов одновременно.
Вторая - закрытие соединения одним из компонентов приведет к закрытию соединения другими.

Правильнее будет поступить следующим образом:
1. В родительском домене создать класс, занимающийся всей работой с сервером баз данных (поищите в интернете про DAL).
2. Из дочерних доменов передавать в этот класс данные для обработки, выделив из базового класса общий интерфейс. Для передачи таких
данных очень хорошо подходят DataSetы.

Т.е. дочерний домен вообще ни чего не должен знать про базы данных.


Posted via ActualForum NNTP Server 1.3

Я не выполняю запросы одновременно на одном соединении. Дочерние сборки поставляют в основную формы, которые я открываю модально.
Закрывать соединение - тоже не буду.

Кстати, что такое DAL - пару слов, а то по результатам поиска что-то не въезжаю, о чём речь.
За советы - спасибо :)
...
Рейтинг: 0 / 0
15.02.2007, 13:07
    #34333050
Шайтан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remoting+SqlConnection
HiMik2004Кстати, что такое DAL - пару слов, а то по результатам поиска что-то не въезжаю, о чём речь.
За советы - спасибо :)
http://www.google.ru/search?hl=ru&q=Data+Access+Layer&lr=

Шайтан
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Remoting+SqlConnection / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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