2011-08-09 81 views
0

最近我收到一個面試問題。ASP.NET在應用程序中維護搜索歷史

如何在asp.net應用程序中維護日常搜索歷史記錄?

以下哪一項是正確的選擇?

1)Cookies 2) Sql Server 3) Session State 

我猜正確的選項可能是Cookies.Please請分享您的想法。

回答

1

SQL Server是最可靠的維護方法。通常不能依賴Cookie,會話過期並丟失所有數據。

所以問題歸結爲:如果您需要維護長期歷史記錄,請使用SQL Server。如果您想要顯示特定用戶搜索的內容,請參加會話(或Cookie,但它們的大小有限)。

+0

明白謝謝 – thomas

0

所有3個選項都在爲許多不同的原因不同的場景可以接受的 - 它是一種軟水問題,旨在讓你思考和說話:

(1)網站 - 爲每個用戶/瀏覽器會話提供了一個客戶端解決方案(只要用戶接受/不刪除它們),並且您不關心這可能發生。但是,這會將用戶綁定到瀏覽器。對於匿名用戶瀏覽非常有用,但如果您的目的是保留或查詢歷史記錄,則不適用。 (2)SQL - 確保歷史記錄保存在服務器端,但您需要一種機制,如客戶端登錄將歷史記錄與用戶相關聯,並提供3種唯一的解決方案,以便您執行任何類型的歷史的多用戶分析/分析。

(3)會話狀態 - 不可取 - 但可以說與cookie類似,但沒有需要cookie接受的警告 - 但是引入超時問題並再次將用戶綁定到瀏覽器並限制信息的生命週期。

+0

非常感謝你巴里 – thomas