当前位置:编程学习 > C#/ASP.NET >>

网站和C/S的Server如何共用DAL?

求解。 --------------------编程问答-------------------- 直接使用了就可以,一般情况下,除了注意数据库连接的方法外,其他的代码完全一样 --------------------编程问答-------------------- 做成一个dll,然后分别引用。 --------------------编程问答--------------------
引用 1 楼  的回复:
直接使用了就可以,一般情况下,除了注意数据库连接的方法外,其他的代码完全一样

我就是不知道如何直接用……直接引用DAL项目么,这样的话是不是要同时维护两份代码。。。 --------------------编程问答--------------------
引用 2 楼  的回复:
做成一个dll,然后分别引用。

好吧……等等看看有没有更好的方法。。。 --------------------编程问答-------------------- 编译成dll,添加引用,选择你的DAL.dll,只维护一个项目即可 --------------------编程问答--------------------
引用 5 楼  的回复:
编译成dll,添加引用,选择你的DAL.dll,只维护一个项目即可

这样的话DBUtility(DBHelper)应该怎么办呢,在server中再写一个? --------------------编程问答-------------------- 晕!你说的所为c/s是什么?是在程序中弄个关系数据库的客户端驱动就叫c/s?那么你又哪来的server呢?

如果不是,如果你有正规的server端,那么客户端就是跟服务器通讯,哪有什么DAL呢?前端根本没有BLL、DAL这种东西,它完全是表现层,顶多再包括一个(薄薄的)通讯网关,而已! --------------------编程问答-------------------- 我经常打一个比方,比如说移动公司的客户端(各种手机)跟另外一个客户端语音通讯,你以为它们之间不是通讯,而是什么客户端把语音内容保存到关系数据库中、然后另外一个客户端到数据库中去搜索语音内容?

如果你满脑子就只有数据库表增删改查,那么设计不了真正的c/s程序。顶多是拿个关系数据库的客户端驱动编个局域网小程序而已。

所以一定要学会设计服务器架构设计,才能懂c/s。 --------------------编程问答--------------------
引用 7 楼  的回复:
晕!你说的所为c/s是什么?是在程序中弄个关系数据库的客户端驱动就叫c/s?那么你又哪来的server呢?

如果不是,如果你有正规的server端,那么客户端就是跟服务器通讯,哪有什么DAL呢?前端根本没有BLL、DAL这种东西,它完全是表现层,顶多再包括一个(薄薄的)通讯网关,而已!

有正规的server端啊,客户端的移动平台。。。不知道大神还记不记得之前我发的那个socket通信的帖子,你还给我回复了好多,我用的就是你说的命令模式啊……现在我在服务器端已经写好了继承command的业务逻辑了,那么它如何去和数据库通信啊,不就应该是在BLL中调用DAL么? --------------------编程问答--------------------
引用楼主  的回复:
求解。


sorry,刚吃完饭,所以把你的标题看作是“C/S和Server如何共用DAL?”这个了,sorry啊! --------------------编程问答--------------------
引用 10 楼  的回复:
引用楼主  的回复:
求解。


sorry,刚吃完饭,所以把你的标题看作是“C/S和Server如何共用DAL?”这个了,sorry啊!

--------------------编程问答-------------------- 编写asp.net的程序员,十个中有九个半根本没有开发过c/s程序。asp.net程序员以门槛低、要求水平低而著称。而(早已经跟不上ajax时代潮流的)asp.net程序通常是本地调用关系数据库驱动,并且它的开发人员也并不需要真正去有一个通讯层,因此asp.net程序大多都是直接使用ADO.NET、Linq to SQL、EF等等封装的DAL库对业务数据进行增删改查,不需要自己写什么DAL层。

asp.net的架构并没有突出前后端分离,并不适合作为“三层”的典型。实际上asp.net程序最容易助长“为了三层而三层”的编程,这是因为它不像c/s架构那样清晰。那种从PetShop中学来的所谓三层,在BLL层进行没有做什么操作,反而在DAL层却要自己写一大堆垃圾代码对每一个业务实体对象进行所谓的“增删改查”包装一遍,这种画蛇添足的封装没有必要。

在BLL层中你可以直接调用比较高级的数据库驱动类库,例如现在的MongoDb for .net也支持Linq povider的,那么在BLL中直接调用这种高级的类库,而不一定需要自己些什么低级的DAL代码。 --------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,