SerializationException Из-за ограничений безопасности тип System.Runtime.Remoting.ObjRef недоступен - PullRequest
4 голосов
/ 06 мая 2009

У меня есть сервер удаленного взаимодействия, размещенный в IIS, который выдает следующее исключение, когда я пытаюсь поговорить с ним. SerializationException Из-за ограничений безопасности тип System.Runtime.Remoting.ObjRef недоступен. Если я размещаю сервер в своем собственном exe-файле, у меня не возникает никаких проблем.
При поиске в Google решением для большинства людей является установка typeFilterLevel = "Full"

<clientProviders>
    <formatter ref="binary" typeFilterLevel="Full"/>
</clientProviders>    
<serverProviders>
     <formatter ref="binary" typeFilterLevel="Full"/>
</serverProviders> 

Что я делаю.

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

<system.web>
    <authentication mode="None" />
    <customErrors mode="Off" />
    <compilation defaultLanguage="c#" />
    <trust level="Full"/>
</system.web>

Я использую IIS 6.0 в Windows 2003. Код скомпилирован для .NET 2.0. Пул приложений работает под учетной записью с правами администратора.

1 Ответ

3 голосов
/ 06 мая 2009

Проблема оказалась в плохом определении канала. Тег serverProviders не находился внутри канала, отступ в xml сделал его похожим на это.

...