我的.NET項目處理AJAX請求。根本沒有UI控件,它只是對每個AJAX文章的文本進行響應。適當的AJAX處理程序結構
這是我目前的結構:
<%
SynchLock DBNull.Value
Main
End SynchLock
%>
<script language="VB" runat="Server">
Sub Main
Dim a() As String = Request.Form("a").Split(" "c)
' a: (0) version, (1) config, (2) userid, (3) sessionid, (4) activity
' Initializations
Using conn As DbConnection = sess.Connection
Select Case a(4)
Case 0
ActivityOne
Case 1
ActivityTwo
Case 2
ActivityThree
...
Case 28
ActivityTwentyEight
End Select
End Using
End Sub
'All the activity functions and lots of other Functions
</script>
這工作,但我認爲它可以得到改善;我不知道如何繼續。
一些活動稱爲子功能,我正在考慮打破一些進一步的活動。爲了封裝一個活動,我正在考慮功能改變活動類,像這樣的所有功能:
Select Case a(4)
Case 0
Dim a1 As New ActivityOne
a1.Execute
...
End Select
這是正確的做法?如果我繼續上課,我有相關的問題:
(1)我是否編碼類的「新」子或「執行」(或其他名稱)子?如果我編碼的「新」子,然後我可以減少上述代碼:
Select Case a(4)
Case 0
New ActivityOne
...
End Select
這似乎更容易,但有缺點嗎?
(2)這些活動都依賴於其他Request.Form輸入。我是否(a)從類中傳遞HttpContext.Current對象或(b)將Request對象傳遞給活動或(c)傳遞活動所需的特定Request.Form變量?
例如
(a)新ActivityOne'類訪問HttpContext.Current.Form( 「B」)等
Class ActivityOne
Sub New
Dim p1 As String = HttpContext.Current.Form("b")
...
End Sub
End Class
(b)新ActivityOne(請求)
Class ActivityOne
Sub New(req As HttpRequest)
Dim p1 As String = req.Form("b")
...
End Sub
End Class
(三)新ActivityOne(的Request.Form( 「b」))
Class ActivityOne
Sub New(p1 As String)
...
End Sub
End Class
這是一個ASP.NET文件嗎? – 2011-06-01 23:38:47
是的,這是一個.aspx – ic3b3rg 2011-06-01 23:42:11
你不應該爲此使用ASPX文件。使用HTTPHandlers。 – Phill 2011-06-02 01:18:40