我遇到了一个奇怪的问题:我从我的客户那里调用了 WCF 操作。该操作删除了指定目录中的所有文件,最后也删除了它们的父目录。
实际上,这行得通。不抛出异常,成功删除文件夹内的文件和文件夹本身。
但是:我的客户端的 wcf 上下文无效,所以我需要再次实例化服务客户端。如果我不删除目录,但只有所有文件中的文件都可以正常工作。实际上我不知道为什么删除目录会对调用服务的客户端产生影响??!
谢谢你
我遇到了一个奇怪的问题:我从我的客户那里调用了 WCF 操作。该操作删除了指定目录中的所有文件,最后也删除了它们的父目录。
实际上,这行得通。不抛出异常,成功删除文件夹内的文件和文件夹本身。
但是:我的客户端的 wcf 上下文无效,所以我需要再次实例化服务客户端。如果我不删除目录,但只有所有文件中的文件都可以正常工作。实际上我不知道为什么删除目录会对调用服务的客户端产生影响??!
谢谢你
抱歉回复晚了,但我只是浪费了一个下午来处理完全相同的问题。我终于找到了调用 Directory.Delete() 的问题。它工作正常,没有例外等。
在我们的例子中,我们删除了托管 WCF 服务的文件夹的子文件夹。据我了解,这会迫使应用程序回收,终止您的会话/服务等
我们的服务正在存储/删除文件,因此我们将文件存储位置移到了应用程序文件夹之外,现在它似乎工作正常。
更多信息在这里:
http://www.geekays.net/post/2008/10/14/ASPNET-webdomain-recycle-on-subfolder-changes.aspx
当您删除目录时,您是否从服务调用中恢复了 SOAP 错误?
如果是这样,您是否可以启用其他详细的调试信息以找出服务器上的故障到底是什么?
您可以通过向您的配置(在服务器端)添加服务行为来做到这一点:
<behaviors>
<serviceBehavior name="detailedDebugInfo">
<serviceDebug includeExceptionDetailInFaults="True" />
</serviceBehavior>
</behaviors>
然后将该服务行为配置分配给您的服务声明:
<services>
<service name="YourService"
behaviorConfiguration="detailedDebugInfo">
完成此操作后,您应该将来自潜在服务器端异常的详细异常信息返回到客户端返回的 SOAP 故障中。