2010-02-09 61 views
2

我遇到了一个奇怪的问题:我从客户端调用了WCF-Operation。该操作将删除指定目录中的所有文件,并最终删除其父目录。由Directory.Delete()造成的WCF安全异常

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

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

谢谢

回答

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 2010-02-09 23:59:21