关于ASP.NET Portal starter Kit  www.asp.net 站点的描述是
  • ASP.NET Mobile Controls
  • Three-tier architecture with ASP.NET
  • Role Based Security

        个人感觉上它把DAL和中间的商务层是放在一起的。不能算是Three-tier,决定自己对 ASP.NET Portal starter Kit动动小手术,把DAL和中间层分出来,把原来的SQL数据库转换成Access的数据库。
         把SQL数据库转换成Acceess的数据库不知大家有没有注意一个问题。SQL数据库数据表Portal_Roles中的主键自动编号的标示种子是0,但是转换成Access的标示种子就是1开始,所以转换后的数据库需要手工修改一下,要么转换后的用户角色就会和原来的不匹配。

         数据库转换完毕剩下的就是在DAL把原有的SQL的存储过程转换成相关的SQL语句,在DAL你可以老老实实的自己写一个DAL的基类然后再此基础上进行数据操作,或者可以用DAAB也行。我在这里用听棠的SPL把数据库中的所有数据表映射成数据实体然后进行操作。因为我用的是VB.NET,smartrobot生成的数据实体类代码是基于C#的所以需要在原来的解决方案的基础上添加一个C#的项目命名为DALLib作为整个Portal的DAL。 ASP.NET Portal starter Kit ----重构DAL(SPL)
并把相关的配置文件放置在Config目录下面,剩下操作都不难了,就只有数据表Portal_Discussion的存储过程转换的过程稍微繁杂一点。
例如

ASP.NET Portal starter Kit ----重构DAL(SPL)CREATE PROCEDURE Portal_AddMessage
ASP.NET Portal starter Kit ----重构DAL(SPL)(
ASP.NET Portal starter Kit ----重构DAL(SPL)    
@ItemID int OUTPUT,
ASP.NET Portal starter Kit ----重构DAL(SPL)    
@Title nvarchar(100),
ASP.NET Portal starter Kit ----重构DAL(SPL)    
@Body nvarchar(3000),
ASP.NET Portal starter Kit ----重构DAL(SPL)    
@ParentID int,
ASP.NET Portal starter Kit ----重构DAL(SPL)    
@UserName nvarchar(100),
ASP.NET Portal starter Kit ----重构DAL(SPL)    
@ModuleID int
ASP.NET Portal starter Kit ----重构DAL(SPL))   
ASP.NET Portal starter Kit ----重构DAL(SPL)
ASP.NET Portal starter Kit ----重构DAL(SPL)
AS 
ASP.NET Portal starter Kit ----重构DAL(SPL)

把原来的SQLConnection和Command换成以下的操作方法
End Function
基本上就这样,最后记得把Web.Config中的这句话去掉
ASP.NET Portal starter Kit ----重构DAL(SPL) <add key="ConnectionString" value="server=localhost;Trusted_Connection=true;database=Portal" />

因为现在的连接字符串已经是在另外的配置文件DataBaseMap.XML中了.
个人觉得修改后的3层结构要更明晰一点。
首先项目DALLib作为整个解决方案的数据读取层,Portal项目中的Components文件夹中的类作为中间商务层,剩下的就是和实体映射相关配置文件和UI了。
上面的都是我个人的观点,错误的地方恳请大家指正。


相关链接:
asp.net Portal Starter kit----改造Portal的Html文本编辑器

相关文章:

  • 2021-06-03
  • 2022-12-23
  • 2022-01-01
  • 2021-10-05
  • 2022-12-23
  • 2021-12-24
  • 2022-12-23
  • 2021-07-09
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-30
  • 2022-12-23
相关资源
相似解决方案