Исключение безопасности WCF, вызванное Directory.Delete () - PullRequest
2 голосов
/ 09 февраля 2010

Я столкнулся со странной проблемой: я вызываю WCF-операцию от моего клиента. Операция удаляет все файлы в указанном каталоге и, наконец, также удаляет их родительский каталог.

На самом деле это работает. Не возникает исключений, и файлы в папке и сама папка удаляются успешно.

Но: контекст wcf моего клиента становится недействительным, поэтому мне нужно снова создать экземпляр Service Client. Если я не удаляю каталог, а только файлы внутри все работает нормально. На самом деле я понятия не имею, почему удаление каталога влияет на клиента, вызывающего службу ??!

Спасибо

Ответы [ 2 ]

1 голос
/ 12 января 2013

Извините за поздний ответ, но я просто потратил впустую день, занимаясь точно такой же проблемой. Я наконец отследил проблему до вызова Directory.Delete (). Работало нормально, без исключений и т. Д.

В нашем случае мы удаляли подпапку папки, в которой размещался сервис WCF. Насколько я понимаю, это заставляет приложение перезагружаться, убивая ваш сеанс / службу и т. Д.

Наш сервис хранил / удалял файлы, поэтому мы переместили место хранения файлов за пределы папки приложений, и теперь оно, похоже, работает нормально.

Больше информации здесь:

http://www.geekays.net/post/2008/10/14/ASPNET-webdomain-recycle-on-subfolder-changes.aspx

0 голосов
/ 09 февраля 2010

Получаете ли вы ошибку SOAP после вызова службы, когда вы удаляете каталог?

Если да, можете ли вы включить дополнительную подробную информацию об отладке, чтобы выяснить, что именно является этой ошибкой на сервере ??

Вы делаете это, добавляя служебное поведение в свою конфигурацию (на стороне сервера):

<behaviors>
   <serviceBehavior name="detailedDebugInfo">
       <serviceDebug includeExceptionDetailInFaults="True" />
   </serviceBehavior>
</behaviors>

и затем присвоение этой конфигурации поведения службы объявлению службы:

<services>
    <service name="YourService" 
             behaviorConfiguration="detailedDebugInfo">

Как только вы это сделаете, вы должны будете получать подробную информацию об исключительной ситуации из потенциального серверного исключения в ошибку SOAP, которую вы возвращаете клиенту.

...