我正在開發一個網站,其中每種類型的用戶({guest,loggedIn})都可以在不同的文化({en-US ...})中查看[N]個網頁。我使用GetVaryByCustomString來處理每個頁面緩存:每種文化的用戶輸出緩存,內存性能
Public Overrides Function GetVaryByCustomString(ByVal currentContext As HTTPContext, ByVal customArgs As String) As String
Select Case customArgs
Case "userAndCulture"
Return String.Format("{0}{1}", Languages.getLanguageID(), User.getUserID(0))
End Select
Return MyBase.GetVaryByCustomString(currentContext, customArgs)
End Function
注:getUserID()有DBNull.Value的默認「returnValueWhenNull」(它使用SQL的大部分工作),所以我要送0(零),所以所有的客人都會有相同的頁面。
不過,我的主要問題是:這樣的機制不會在內存方面殺死服務器?我的意思是,沒有潛在的[loggedInUsersCount] * [culturesCount] * [pagesCount]頁面?
還要說明一點:頁面在服務器內存中緩存只有