Как изменить Deserialization level?

 
0
 
.NET
ava
csprogrammer | 03.10.2007, 09:30
Здравствуйте.

Мне нужно вызывать удалённый метод, передавать ему в качестве параметра SqlCommand и возвращать DataTable. Для этого я использую Remoting. При передаче запроса строкой всё работает. Но это не удобно. При передаче SqlCommand вызывается исключение "SerializationException: Because of security restrictions, the type System.Runtime.Remoting.ObjRef cannot be accessed." Прочитал в msdn, что существует настройка typeFilterLevel, которая по-умолчанию выставлена в значение "Low", что разрешает передавать только ограниченное количество типов, удовлетворяющих ряду требований. Установил её в конфиге сервера в значение "Full":


<system.runtime.remoting>
<application>
<service>
<wellknown
mode="SingleCall" objectUri="Report_DataLoader.rem"
type="Report_DataLoader, RemoteAccess"/>
<wellknown
mode="Singleton" objectUri="ConnectionManager.rem"
type="ConnectionManager, RemoteAccess"/>
</service>
<channels>
<channel ref="http" />
<serverProviders>
<provider ref="wsdl" />
<formatter ref="soap" typeFilterLevel="Full" />
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channels>
</application>
</system.runtime.remoting>


Никакого эффекта это не произвело, при попытке передачи SqlCommand вызывается тоже самое исключение. Подскажите пожалуйста, как поменять настройку.
Comments (3)
ava
tol05 | 03.10.2007, 08:52 #
а для клиента typeFilterLevel="Full" не нужен? В обмене "ограниченными" типами и клиент, и север участвуют.
ava
csprogrammer | 03.10.2007, 08:55 #
Вопрос снимается. Автор признаёт себя "слегка" рассеянным:

надо так:


<channels>
<channel ref="http">
<serverProviders>
<provider ref="wsdl" />
<formatter ref="soap" typeFilterLevel="Full" />
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channel>
</channels>


added later:
Цитата


а для клиента typeFilterLevel="Full" не нужен? В обмене "ограниченными"  типами и клиент, и север участвуют.



Нужен, но только в случае, если нужно обрабатывать события или callback-и переданного объекта.
ava
arilou | 05.10.2007, 17:45 #
Интересно, зачем передавать SqlCommand - это как то некошерно...
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit