日期:2014-01-05  浏览次数:20361 次

这篇文章研究的是如何在一个用户登录后获得用户的任务。

在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类是做什么用的。