2

奇妙な問題が発生しています。クライアントからWCF操作を呼び出しています。この操作により、指定されたディレクトリ内のすべてのファイルが削除され、最後にそれらの親ディレクトリも削除されます。

実際には、これは機能します。例外はスローされず、フォルダー内のファイルとフォルダー自体は正常に削除されます。

ただし、クライアントのwcfコンテキストが無効になるため、サービスクライアントを再度インスタンス化する必要があります。ディレクトリを削除せずに、すべての中のファイルだけが正常に機能する場合。実際、ディレクトリを削除すると、サービスを呼び出すクライアントに影響がある理由がわかりません。

ありがとうございました

4

2 に答える 2

1

返信が遅くなって申し訳ありませんが、まったく同じ問題を扱って午後を無駄にしました。私はついに、Directory.Delete()の呼び出しの問題を突き止めました。それはうまく機能していて、例外などはありませんでした。

この例では、WCFサービスをホストしているフォルダーのサブフォルダーを削除していました。私が理解していることから、これはアプリケーションをリサイクルさせ、セッション/サービスなどを強制終了します

私たちのサービスはファイルの保存/削除を行っていたため、ファイルの保存場所をアプリケーションフォルダーの外に移動しましたが、正常に機能しているようです。

詳細はこちら:

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

于 2013-01-11T22:17:26.283 に答える
0

ディレクトリを削除すると、サービス呼び出しからSOAP障害が返されますか?

その場合、追加の詳細なデバッグ情報を有効にして、サーバーでその障害が正確に何であるかを確認できますか?

これを行うには、(サーバー側の)構成にサービス動作を追加します。

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

次に、そのサービス動作構成をサービス宣言に割り当てます。

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

これを行うと、潜在的なサーバー側の例外から、クライアントで取得しているSOAP障害に詳細な例外情報を取得する必要があります。

于 2010-02-09T20:12:53.723 に答える