2013-12-14 21 views
1

我試圖使用silverlight創建一個簡單的考勤系統。應用程序將拍攝用戶的照片並將其存儲在服務器上。從Silverlight應用程序修改數據庫是不是個好主意

我已經想出瞭如何激活網絡攝像機並將圖像轉換爲可寫入的位圖。但是,我還沒有解決將用戶標識和當前日期從asp.net框架傳遞給silverlight應用程序,然後執行一組SQL查詢以將數據存儲在SQL服務器中並將網絡攝像頭圖像保存在服務器。

然而,從性能和安全的角度來看,從silverlight內部執行sql查詢是一個壞主意嗎?

+1

如何從Silverlight獲取數據庫?您可以從Silverlight訪問哪種數據庫? – Gabe

回答

4

是的,這是一個非常糟糕的主意。

SilverLight在瀏覽器內執行。您不想將數據庫打開到世界上的每個瀏覽器。

而是使用Web服務。所有的瀏覽器都會調用你的服務,並且服務器上運行的服務將訪問數據庫(運行在不同的服務器上)。

+0

在閱讀了這個問題之後,似乎人們似乎建議使用服務來訪問數據庫。那麼我可以使用該服務來執行像SELECT和INSERT這樣的查詢嗎?此外,我認爲它應該是一個簡單的實施,以保存從服務器上的網絡攝像頭拍攝的圖像。我仍然需要使用服務嗎?你知道特別是涵蓋這方面的任何鏈接嗎?迄今爲止我的搜索沒有太多成果。 – WackStr

+0

除了使用服務之外,您認爲您會用什麼技術從Silverlight寫入數據庫? –

+0

我想我可以將一些連接字符串傳遞給silverlight,然後從其中執行查詢。但現在我知道更好。 我現在的問題是如何將Silverlight中的圖片傳輸到服務器? 從我讀過的WCF中,我瞭解到我可以向silverlight應用程序公開某些方法和對象。但似乎我需要一個服務,從Silverlight的字節數組,並將其傳遞到服務器。 看起來像一個共同的任務,但我找不到任何寫得很好的文章,所以我來這裏尋求幫助。你怎麼看? – WackStr

2

壞主意。瀏覽器中的Silverlight是客戶端。我會寫一個像WCF這樣的後端服務來處理這些問題。保持Silverlight清潔和輕便。

0

我不同意另外兩個答案,這是一個壞主意。首先,Silverlight不一定在瀏覽器中運行(參見瀏覽器外瀏覽模式),然後也與此無關:

這對於運行在WPF瀏覽器應用程序中是完全合法的企業內部網訪問該內部網中託管的SQL Server。

在這種情況下使用Silverlight並沒有什麼不同 - 而Intranet業務線應用程序是Silverlight最流行的用例,因此這種情況不過是人爲設計的。

但是,由於該方案不受支持,因此難度很大。理論上Silverlight可以連接到一個本地的sql server,但是你必須重新實現sql server協議(如果這個協議完全公開的話,我不知道),然後推測將實體框架移植到Silverlight。

由於這是非常困難的,你不打算這樣做,並確實運行與其他答案的建議和訪問一些Web服務。您的應用程序至少有三層:Silverlight客戶端,Web服務和數據庫。

這被稱爲3層架構,這是您通常用Silverlight應用程序所做的。

我意識到這個答案有點多餘,但我想讓提問者放心,他的想法並不一定是壞的,除非它不會成果豐碩。

相關問題