7

WinXP SP3マシンの50%でこの例外が発生します。260文字のパス長制限について知っていますが、何ができますか?

私はすでにファイルにサブディレクトリなしで2文字だけの名前を付けていますが、IsolatedStorageへのパスはWinXPマシンの半分ですでに260文字を超えています。

4

1 に答える 1

4

この問題に対する実際の解決策はないようです。WindowsXPでの分離ストレージのデフォルトパスは<SYSTEMDRIVE>\Documents and Settings \\ Local Settings \ Application Data \ Microsoft \ Silverlight \で、英語のシステムではすでに非常に長いです。MSDNには、分離ストレージとベストプラクティスの使用に関する優れた記事があります

分離ストレージを使用する場合、これらのガイドラインに従うと、問題を回避し、分離ストレージが提供する保護を最大限に活用するのに役立ちます。

  • try / catchブロック内の分離ストレージへのすべての呼び出しをラップして、潜在的なIsolatedStorageExceptionsに耐性を持たせます。これは、分離ストレージが
    無効になっている場合、またはストアが削除されている場合にスローされる可能性があります。
  • Silverlightアプリケーションが大量のデータを分離されたストレージに保存する必要がある場合は、サイト上の他のアプリケーションに影響を与えず、他のアプリケーションが影響を与えないように、独自のサイトでホストすることを検討してください。
  • クライアントでデータを共有する必要があるSilverlightアプリケーションのグループがある場合は、それらを同じサイトでホストします。
  • 内部のフルパスが260文字の制限に達しないように、分離されたストレージパスをできるだけ小さくしてください。
  • 隔離されたストレージに保存されている機密データを暗号化します。
  • 分離ストレージ設定を使用して、オブジェクトと単純な設定を分離ストレージに保存します。
  • ファイルおよびストリームベースのAPIを使用する場合、大量のデータを保存する場合、または分離されたストレージのコンテンツをきめ細かく制御する必要がある場合は、IsolatedStorageFileを使用します。

PathToLongExceptionを回避するには、最初にIsolatedStorageのパスを確認し、内部マッピングを使用してファイルをIsolatedStorageに保存します。分離ストレージへのパス自体が長すぎる場合は、Silverlightアプリケーションを独自のサイトでホストし、IsolatedStorageFile.GetUserStoreForSiteを使用することを検討する必要があります。

于 2011-08-15T09:45:22.783 に答える