我的.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