【问题标题】:WCF Security Exception caused by Directory.Delete()由 Directory.Delete() 引起的 WCF 安全异常
【发布时间】:2010-02-09 18:58:23
【问题描述】:

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

实际上,这是可行的。不抛出异常,成功删除文件夹内的文件和文件夹本身。

但是:我的客户端的 wcf 上下文无效,所以我需要再次实例化服务客户端。如果我不删除目录,但只有所有文件中的文件都可以正常工作。其实我不知道为什么删除目录会对调用服务的客户端产生影响??!

谢谢

【问题讨论】:

    标签: c# wcf file securityexception operation


    【解决方案1】:

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

    在我们的例子中,我们删除了托管 WCF 服务的文件夹的子文件夹。据我了解,这会迫使应用程序回收,终止您的会话/服务等

    我们的服务正在存储/删除文件,因此我们将文件存储位置移到了应用程序文件夹之外,现在它似乎可以正常工作了。

    更多信息在这里:

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

    【讨论】:

      【解决方案2】:

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

      如果是这样,您是否可以启用其他详细的调试信息来找出服务器上的故障到底是什么??

      您可以通过将服务行为添加到您的配置(在服务器端)来做到这一点:

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

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

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

      完成此操作后,您应该将来自潜在服务器端异常的详细异常信息返回到客户端返回的 SOAP 错误中。

      【讨论】:

      • 我已经这样做了。正如我在原帖中所说:服务没有抛出明显的异常并且目录被成功删除。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-29
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      相关资源
      最近更新 更多