SecurityException при загрузке приложения с расширением поведения WCF в app.config по сети - PullRequest
6 голосов
/ 31 октября 2011

У меня есть .NET 4 .exe (приложение Winform Desktop), к которому я добавил расширение WCF поведение. Приложение прекрасно загружается на локальном компьютере, но выдает исключение SecurityException при загрузке по сети. Если я опущу setMaxFaultSizeBehavior поведениеExtension, то я могу загрузить приложение по сети. Я был бы признателен за любую информацию, которая может помочь получить эту работу. Я подтвердил, что файлы не заблокированы, и имя сборки точно соответствует, включая пробелы.

Соответствующая часть app.config выглядит следующим образом (я сократил имя типа и имя сборки, в реальном файле конфигурации я использую полное пространство имен и имя сборки):

<system.serviceModel>
    <bindings configSource="bindings.config" />
    <client configSource="clients.config" />
    <extensions>
      <behaviorExtensions>
        <add name="setMaxFaultSizeBehavior" type="SetMaxFaultSizeBehavior, BehaviorAssembly, Version=1.8.0.0, Culture=neutral, PublicKeyToken=41b332442f1101cc" />
      </behaviorExtensions>
    </extensions>
    <behaviors>
      <endpointBehaviors>
       <behavior name="LargeQuotaBehavior">
          <dataContractSerializer maxItemsInObjectGraph="2147483600" />
          <setMaxFaultSizeBehavior />
       </behavior>
      </endpointBehaviors>
    </behaviors>

Исключение, которое я получаю при работе по сети:

An error occurred creating the configuration section handler for system.serviceModel/behaviors: Request failed. (\\server\Share\app.exe.Config line 22)
Exception Type: System.Configuration.ConfigurationErrorsException
Source: System.Configuration

с внутренним исключением System.Security.SecurityException

1 Ответ

5 голосов
/ 30 января 2012

Мы только что столкнулись с той же проблемой на прошлой неделе. Мне удалось отследить его до ошибки развертывания .... при копировании файлов сборки из сетевого расположения мы забыли "разблокировать" их.

т.е. сборка, содержащая элемент расширения WCF, была помечена Windows как небезопасная (поскольку она была скопирована из сетевого расположения).

Все, что мы сделали, чтобы исправить это, - это нажмите кнопку «Разблокировать» в диалоговом окне «Свойства» для этого файла (в проводнике Windows).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...