簡體   English   中英

我是否需要擔心會話狀態?

[英]Do I need to worry about session state?

大家好,希望能對您有所幫助。

我主要是Windows開發人員(winforms和wpf / mvvm),距我上一個Web應用程序已有10年了,所以這可能是一個愚蠢的問題。

我剛剛重新開發了一份客戶滿意度調查表,由於不得不從頭開始弄清楚,我認為我會使用MVC 3和Razor。

問卷是一個單頁網站,帶有一個類似以下內容的控制器。

    Function Index(BrandName As String, CaseID As Integer, EventID As Integer) As ActionResult

        ViewData("Scores") = Scores

        Dim questionnaire As New Questionnaire

        questionnaire.CaseID = CaseID
        questionnaire.EventID = EventID
        questionnaire.BrandName = BrandName

        //Get Some specific branding from the database
        questionnaire.FullBrandName = "FullNameFromDatabaseTable"

        Return View(questionnaire)

    End Function


    Function Save(questionnaire As Questionnaire) As ActionResult

        If TryUpdateModel(questionnaire) Then
            SaveQuestionnaireToDatabase(questionnaire)
        Else
            Return RedirectToAction("Index")
        End If

        Return View()

    End Function

我已經剝離了一些數據庫代碼和一些東西來獲取簽名的圖像URL,因為我認為它不相關。

我不確定我是否完全理解視圖和控制器之間發生的魔術,這是我提出問題的真正原因。

這與其他所有問題一起變得蔚藍,我問有關會話狀態的問題,因為這將在兩個實例之間實現負載平衡。 訪問該頁面不需要身份驗證,因為它只能完成一次。

非常感謝

ps我無法獲取vb樣式引號,因此將其放在C#中。

如果您需要跨實例共享/訪問任何內容,只需使用AppFabric緩存,該緩存大約在兩周前就已啟用。 我在這個答案中提供了一個鏈接。 令人高興的是,您可以僅使用幾行代碼來使用緩存提供程序進行設置,然后為可序列化的鍵/值對調用Put()和Get()。 設置緩存時,還可以通過簡單的Web配置更改啟用自定義asp.net會話狀態提供程序-Azure門戶將為您自動生成xml。

看起來您沒有做任何與會話有關的事情,因此無需擔心帖子轉到哪個服務器。 所有處理請求的信息都隨表格一起提交。

您可以在此處查看 (特別是標題為“ 實現添加新產品”的部分 ),以消除有關將表單數據映射回服務器端信息的某些奧秘。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM