2010-02-09 60 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