2010-02-09 4 views
2

У меня возникает странная проблема: я вызываю WCF-операцию с моего клиента. Операция удаляет все файлы в указанном каталоге и, наконец, также удаляет родительский каталог.Исключение безопасности WCF, вызванное Directory.Delete()

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

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

Спасибо

ответ

1

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

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

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

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

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

0

Вы получаете обратно ошибку SOAP от вашего вызова службы при удалении каталога ??

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

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

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

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

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

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

+0

Я сделал это уже. Как я уже сказал в своем оригинальном посте: никакое очевидное исключение не выбрасывается службой, и каталог удаляется успешно. – Max

Смежные вопросы