2011-10-05 64 views
2

我目前正在研究一個有非常有趣的一組需求的項目。它必須在silverlight中,但所有存儲的數據必須存儲在本地,不能發送到服務器,但它。Silverlight中的存儲選項

隔離存儲似乎是爲這個完美的候選人,除了一些客戶希望(其中獨立存儲似乎抽象你),其中數據文件應該被存儲到選擇的能力,看來,我無法打開文件保存對話框中的Silverlight,除非其「用戶發起」

所以,而不是彈出一個保存對話框一來,每次用戶保存在應用程序中我有哪些選擇什麼?

事情我一直在頭腦風暴:打開文件時,應用程序啓動並按住流打開該應用程序的時間,讓他們建立一個漫遊配置文件,以便應用程序的數據和獨立存儲存儲在其拇指驅動器(真凌亂的解決方案)。還有別的事嗎?也許將數據推送到瀏覽器並使用一些狡猾的JavaScript解決方案?

回答

2

我不認爲這是一個直接的解決了這個問題。在沒有用戶交互的情況下訪問本地文件聽起來就像平臺上的安全漏洞(Silverlight和/或瀏覽器)。

如果你想自己編寫一個安全漏洞,我能想到的一個解決方案。 ActiveX控件可以解決這個問題,但是然後你僅限於IE瀏覽器。我想瀏覽器插件也可以做到這一點。

我也能想象通過某種類型的網絡共享或東西(僅Intranet)中的數據文件發送到Web服務,該服務在某種程度上推動(而不是存儲)到本地計算機上。但這聽起來很糟糕!

一個理智的妥協是隻強制用戶在Silverlight交互打開文件。如果他們選擇不使用對話框打開文件,則使用獨立存儲進行選擇。也許可以很容易地在兩個選項之間切換。

0

,如果你使用什麼樣的獨立存儲來保存文件保存的位置,然後簡單地問了一個保存位置上的第一次運行,或者如果保存文件不在其保存的位置。這是數據存儲在本地進行某種控制,但你不保持數據流打開(可能幾個小時)或提示用戶每次保存。

+1

我看不出這是如何有用。 Silverlight在給定文件位置時無法打開文件。 – AnthonyWJones