依賴WCF爲Silverlight提供數據庫支持確實困擾我。爲什麼Microsoft在Silverlight中不包含SQL Server支持?
我的猜測是Silverlight最終是客戶端,而微軟希望爲服務器端代碼提供某種數據的主要訪問/入口點。
依賴WCF爲Silverlight提供數據庫支持確實困擾我。爲什麼Microsoft在Silverlight中不包含SQL Server支持?
我的猜測是Silverlight最終是客戶端,而微軟希望爲服務器端代碼提供某種數據的主要訪問/入口點。
Silverlight遵循網絡範例,似乎試圖彌合ASP.NET和傳統桌面技術之間的差距。
最近,微軟已經邁出了一大步,爲Silverlight應用程序運行在瀏覽器外(PInvoke支持非託管代碼,Office集成,訪問COM,支持外設......)提供更多控制。有了這一切,似乎很難阻止他們提供數據庫支持。在瀏覽器出現問題的情況下,這可能是有意義的,並且不會像運行剛剛下載的任何其他應用程序那樣存在安全風險。
但是,建立在網絡範式之上,您的數據通常來自網絡。所以這可能是他們不願意包括它的原因...
我想,最後,它是有爭議的。
Silverlight適用於.NET Framework的精簡版本,該版本僅限於核心類庫 - 具有侷限性 - 多媒體管理和WCF /網絡客戶端庫,而不是更多。
這是因爲Silverlight是一個瀏覽器插件,其運行時間必須儘可能小,因爲Web觀衆不會想要下載30MB插件以查看網頁 - 畢竟,這將違背網絡範式 - 。
這將是一個很大的安全問題。想象一下,從JavaScript調用你的數據庫。即使沒有這個,你也需要小心XSS。
另一個原因是,他們只是迫使你分開你BLL,所以你的應用程序正在休耕常見的模式。
如果你想使用一個數據庫使用Silverlight,然後檢查了傑弗裏Richters英鎊DB對Silverlight和WP7: http://wintellect.com/powerthreading.aspx
如果您的談話SQL服務器,那麼他們也的確讓版本的Silverlight支持它。它被稱爲WPF :)
正如@baalazamon所說,這將是一個安全整體。 – 2011-02-03 11:17:25