Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Возврат конкурентного объекта из Remoting / 1 сообщений из 1, страница 1 из 1
23.07.2010, 15:34
    #36756797
Gluck_13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат конкурентного объекта из Remoting
.Net Remoting.

На сервере есть некий static - объект, к примеру, DataTable. Этот объект постоянно модифицируется потоком некоторого сервиса. Естественно, доступ к этому объекту производится через объект синхронизации ( типа lock(SyncObject) ).

Вопрос заключается в том, как корректно вернуть этот DataTable remote-клиенту. Если в методе, возвращающем объект клиенту, сделать просто:
Код: plaintext
1.
2.
3.
lock (SyncObject) {
    return DataTable;
}

то блокировка с SyncObject будет снята до того, как remoting сериализует DataTable для отправки клиенту и возможен конфликт доступа к DataTable в процессе ее сериализации.

Можно, конечно, сделать
Код: plaintext
1.
    return DataTable.Copy();
но это вызовет дополнительные затраты на копирование таблицы, которых хотелось бы избежать.

Вопрос заключается в следующем: можно ли организовать какую-нибудь блокировку, которая бы автоматически снялась по завершении remoting-сериализации?
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Возврат конкурентного объекта из Remoting / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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