这篇文章研究的是如何在一个用户登录后获得用户的任务。在Web界面中,用户如果通过验证就会转到welocme.aspx页面中,在这个页面中首先创建一个CartTask对象:
Dim task As New CartTask(Page.User.Identity.Name)
这个对象的New(userlogon As String)方法中调用了静态方法StoreControllerBase.GetUserTaskId来获得任务的标示,这个任务标示是一个Guid类。在GetUserTaskID方法的如下代码中返回:
Dim cartBO As New CartTaskBusinessObject()
taskId = cartBO.GetTask(userName)
在CartTaskBusinessObject.GetTask方法中定义了三个类:
Dim McustomerDS As New CustomerDS
Dim McustomerDALC As New CustomerDALC
Dim McartTaskDALC As New CartTaskDALC
其中CustomerDS是保存用户信息的类,它是从DataSet类继承过来的。CustomerDALC是从BaseDALC(这个类还没有研究??)继承过来的。这两个类是针对用户信息操作的。CartTaskDALC是从BaseDALC继承过来的,是针对当前用户的任务进行操作的。CartTaskBusinessObject.GetTask方法最终返回的是用户所对应的任务Guid(这个Guid是保存在数据库CartTasks表中的)。 然后在welcome.aspx的Page_Load中判断当前用户是否有Task Guid,如果有的话就在startButton中显示“Continue the existing buy process”,否则就显示“Start to a new buy process”。 以后需要分析一下CustomerDS类以及BaseDALC类,CustomerDS为什么从DataSet类继承,BaseDALC类是做什么用的。