2011-12-07 4 views
1

ファイルを保存して開く際にSilverlightでいくつかの問題が発生します。Silverlightでユーザー指定のファイルを読み取り/書き込みモードで開くことができます

具体的には: Silverlightアプリケーションの起動時にファイルを開くように求めるメッセージが表示されます。その後、このファイルから情報を読み込んでアプリケーションの状態を設定します。また、ユーザーが「保存」をクリックしてその状態のすべての変更を元のファイルに書き戻すことに対応したいと考えています。

分離ストレージを:私たちが欲しいものを行いますが、我々は(別のコンピュータを使用して、人々は拭いハードドライブを持つ、仕事をバックアップすることができないと、あまりにも多くの問題を抱えている私たちが試した何

同じLAN上で)。一般に、ほとんどのユーザは、指定された場所に保存して、ネットワークドライブやUSBキーに作業を保存できるようにしたいと考えています。

ファイルを開くダイアログ:読み取り専用のストリームを提供します。ユーザーが保存をクリックしたときにファイルを更新することはできません。

ファイルの保存ダイアログ:ファイルの既存のコンテストを読んだり、選択したファイルを上書きすることはできません。

高信頼モード:ブラウザ内で動作しません。ユーザーが自分のマシンを管理していないため、ローカルインストールはオプションではありません。

私たちが見逃していることを達成する方法はありますか?

+0

どのゾーンが実行されていますか?ユーザーはファイルシステムに対して悪いことをしないようにアプリケーションを信頼する必要があります。高い信頼はそれを認めません。 –

+0

Internet Explorerのセキュリティゾーンに関するゾーン?私たちは「インターネット」として走っています。それが役に立ったとしても、「信頼できるサイト」にサイトを追加することができました。 – Kellen

答えて

2

短い答えは:いいえ。

しかし、ここでは、ユーザがより受け入れやすいUIセマンティクスを変更することを含むいくつかのアイデアがあります。

アプリケーション状態の「ファイルを開く/保存する」の代わりに、「インポート/エクスポート」を使用します。ユーザーは、インポートのためにOpenFileDialog内のファイルを指定する必要性を受け入れる可能性が高くなります。は、書き出しのためにSaveFileDialogにファイルを指定します(同じですが)。

通常の日常状態は隔離ストレージに保存されるため、インポート/エクスポートの必要性は、ユーザーが別のマシンにデータを持ちたい場合にのみ呼び出されます。

もう1つのオプション(おそらく上記に加えて)は、アプリケーション状態のコピーをサーバー上に維持することです。独立したストレージ内の状態の変更もサーバーに転送されます。隔離されたストレージはキャッシュのようになります。

ユーザーが別のマシンを使用すると、アプリケーションの状態がサーバーから取り出され、現在のマシンの独立したストレージ内のコピーが更新されます。

+0

私たちが現在持っているものは、隔離ストレージに加えてインポート/エクスポートです。私たちはこのアプローチに多くの問題を抱えており、改善したいと考えています。 – Kellen

+0

法的要件により、サーバーに情報を送信することもできません。多くのデータは個人用の暗号化されたデータですが、データが暗号化されていても法律によっては送信できません。 – Kellen

+0

@Kellen:インポート/エクスポートでどのような問題がありましたか?あなたはOOB + ETを使わずに近づいています。 – AnthonyWJones