Directory.Delete()导致的WCF安全异常

时间:2010-02-09 18:58:24

标签: c# wcf file securityexception operation

我遇到一个奇怪的问题:我从我的客户端调用WCF-Operation。该操作删除指定目录中的所有文件,最后也删除其父目录。

实际上,这是有效的。不会抛出任何异常,并且文件夹和文件夹本身中的文件将被成功删除。

但是:我的客户端的wcf上下文失效,所以我需要再次实例化服务客户端。如果我不删除目录,但只有一切文件中的文件正常工作。实际上我没有任何线索为什么删除一个目录会对调用该服务的客户端产生影响??!

谢谢

2 个答案:

答案 0 :(得分:1)

很抱歉迟到的回复,但我只是浪费了一个下午处理完全相同的问题。我终于找到了对Directory.Delete()调用的问题。它工作正常,没有例外等。

在我们的案例中,我们删除了托管WCF服务的文件夹的子文件夹。据我所知,这迫使应用程序回收,杀死你的会话/服务等

我们的服务是存储/删除文件,因此我们将文件存储位置移动到应用程序文件夹之外,现在看起来工作正常。

更多信息:

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

答案 1 :(得分:0)

当您删除目录时,是否从服务调用中收回了SOAP错误?

如果是这样,您是否可以启用其他详细的调试信息以找出服务器上的错误究竟是什么?

您可以通过向配置添加服务行为(在服务器端)来执行此操作:

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

然后将该服务行为配置分配给您的服务声明:

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

执行此操作后,您应该将潜在服务器端异常的详细异常信息返回到您在客户端上获取的SOAP错误。