这篇文章研究的是如何在一个用户登录后获得用户的任务。
在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类是做什么用的。