大家都希望你能提供帮助。
我主要是Windows开发人员(winforms和wpf / mvvm),距离我上次的网络应用程序已有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
我已经删除了一些数据库代码和一些东西来获取签名的图片网址,因为我认为它不相关。
我不确定我是否完全理解视图和控制器之间发生的魔法,这是我提问的真正原因。
这与其他所有内容一起进入azure,我问的是关于会话状态的问题,因为这将在两个实例中进行负载平衡。访问页面无需身份验证,因为它只能完成一次。
非常感谢
p.s我无法获得vb样式引用,所以放入c#one。
答案 0 :(得分:0)
如果您有任何需要跨实例共享/访问的内容,只需使用大约两周前上线的AppFabric Cache。我在this SO answer中提供了一个链接。好处是您可以使用缓存提供程序只需几行代码来设置,然后为可序列化的键/值对调用Put()和Get()。设置缓存时,您还可以通过简单的Web配置更改启用自定义asp.net会话状态提供程序 - Azure门户将为您自动生成xml。
答案 1 :(得分:0)
看起来你没有做任何触及会话的事情,所以不关心帖子去哪个服务器。处理请求的所有信息都随表单一起提交。
您可以查看here(特别是标题为实施添加新产品的部分),以消除表单数据如何映射回服务器端信息的一些谜团。