2009-12-17 85 views
3

,我在一個應用程序,它必須同時是獨立的應用程序& Web應用程序的設計階段(爲了節省建設2幾乎相同的應用程序兩倍的費用)。基本上我選擇了Silverlight OOTB應用程序,這個應用程序將安裝在獨立的機器上,它們將寫入沙箱中的文件集合,偶爾會與服務器版本進行交流。相同的應用程序(有一點配置)也將在網絡服務器上運行,並將其數據存儲在數據庫中。Silverlight的開箱即用的支持「保存文件」瀏覽器對話框

不過,我更多的是WPF開發的,所以我想介紹一些顧慮我有我走的太遠沿着這條道路前......這些都是:

  1. 我聽說你可以通過一個文件在正常使用SL時,用戶可以在其瀏覽器中「另存爲」。 OOTB是否有類似的功能?因爲我希望能夠將一些本地文件保存到沙盒以外的位置(使用用戶權限)?

  2. 是可以配置開箱即用,讓沙箱之外訪問文件系統?

  3. 有沒有一種方法以編程方式確定開箱即用的模式Silverlight應用程序是否正在運行(所以我知道什麼模式的應用程序應該在運行)?

  4. 是否有我的想法任何重大缺陷,到目前爲止,將防止這是一個可能性?

回答

0

的Silverlight 4將提供出的瀏覽器信任的應用程序,它有更多的特權,正常的沙盒應用程序,但仍然不如一個普通的桌面應用程序的支持。關於文件訪問,信任的應用程序將能夠訪問到一些預定義的文件夾,如我的文檔,MyMusic,MyPictures,MyVideos,而不是整個文件系統。詳情請參閱這裏:http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/11/18/silverlight-4-rough-notes-trusted-applications.aspx

至於如何知道您是否用盡瀏覽器或不使用,請使用Application.Current.RunningOffline

最後,我建議你看一看PRISM。除此之外,它簡化了在WPF和Silverlight之間共享代碼的任務,因此您可以考慮開發雙SL + WPF應用程序。

+0

我聽說過SL4的一些改進,但我只是因爲時間限制而猶豫不決。我也將PRISM視爲一種解決方案,但由於我的項目時間和預算有限,我有我的顧慮。 – 2009-12-17 12:04:15