2012-11-02 61 views
2

我正在寫使用ASP.NET MVC4和SQL Server 2012使用SQL Server CE存儲臨時數據是否合乎邏輯?

在我的web應用程序某些時候,我需要從不同的網頁的一些數據存儲在我的web應用程序,並顯示在整個數據後,一個Web應用程序向用戶提供單個頁面,如果用戶確認並且沒有驗證錯誤,我會將確認的數據存儲到SQL Server。這個網絡應用程序擁有大量的用戶。

在SQL Server CE上進行確認之前,使用SQL Server CE作爲臨時存儲並存儲數據是否合乎邏輯和性能?

有沒有其他的選擇我可以使用?

怎麼樣localDb ?!在這種情況下使用localDb代替SQL Server CE會更好嗎?

回答

1

由於公司的政策和SQL Server CE約束像256併發連接的數量我使用了另一種方法。 我用序列化來保持我的對象的狀態。是這樣的:

http://highoncoding.com/Articles/647_Creating_Wizard_Using_ASP_NET_MVC_Part_1.aspx

http://highoncoding.com/Articles/652_Creating_Wizard_in_ASP_NET_MVC_Part_2.aspx

public static string Serialize(this object o) 
    { 
     var sw = new StringWriter(); 
     var formatter = new LosFormatter(); 
     formatter.Serialize(sw, o); 

     return sw.ToString(); 
    } 

    public static object Deserialize(this string data) 
    { 
     if(String.IsNullOrEmpty(data)) 
      return null; 

     var formatter = new LosFormatter(); 
     return formatter.Deserialize(data); 
    } 
0

您是否考慮過使用會話狀態來存儲值? http://msdn.microsoft.com/en-us/library/ms178581%28v=vs.100%29.aspx

+0

是的,我已經考慮了會話狀態,這樣的webapp寫成服務作爲軟件和數據庫的團隊將不會允許開發團隊使用數據庫在這種情況下,所以我想找到一個解決方法。這個臨時數據很大,因此保存查詢和解析數據可能會有點麻煩和困難。此數據應該被序列化爲XML併發送到另一個服務,所以我認爲會話狀態是在這種情況下的那麼多的幫助 – 1AmirJalali

+0

這聽起來像你的解決方法是有點破解。數據庫團隊不會讓你使用主數據庫的原因是什麼?爲什麼不嘗試使用SQL CE方法並查看是否存在性能問題?我知道它不是一個真正的答案,所以我希望別人能夠提供幫助。 –

相關問題