
正文
关于用.net做bs结构的系统的信息
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用asp.NET做B/S系统一般是几层结构?每层之间关系是什么?为什么这么分层?
一般就是
WEB层
业务逻辑层 BLL
数据访问层 DAL
WEB层就是用户所能看到的界面。
BLL层主要进行数据的加工处理。
DAL层主要进数据库的操作,把数据写入数据库, 或者从数据库读取数据
就是用户通过 WEB层提交数据, 这些数据通过BLL层验证、运算再传给DAL层,由DAL层记录到数据库。
反之,如果需要查询数据那么可以用过通过WEB层, 提交查询关键字,或条件,
这些条件经过BLL层分析后再通过DAL层从数据库取出相应的数据返回给BLL层, 再经BLL层运算、包装后传给WEB层呈现给用户。
分层开发使得各层的功能独立,他们之间一般可以通过接口来耦合,可以最大限度的减少它之间的依赖性。
比如说你原来用的是 MSSQL的数据库, 但你有一天需要换成Oracle数据库的时候, 只需要替换DAL层组件就可以做到了 对BLL层和WEB层影响可以降低到最小
相关问答
Q1: asp.net开发的系统一定是b/s结构的么?可以开发c/s结构的系统么?
asp.net开发的系统一定是b/s结构的么?可以开发c/s结构的系统么?一般来说用c/s结构开发的系统也都能用b/s结构开发,一个成熟的B/S系统开发平台要集代码生成器+权限管理+快速开发+动态接口+通用组件+动态UI于一体的
B/S结构系统开发架构及工具详解
B/S(Brouser/Server)架构也可以理解为web架构,是一种基于浏览器载体的框架,包含前端、后端和数据库三个大的方向,各个方向的工具技术都不一样。现在主流的工具技术包含.NET、SqlServer、Bootstrap等,开发工具也会不一样。
B/S(Brouser/Server)前端开发技术工具包括三个要素:HTML、CSS和JavaScript,当然还有很多高级的前端框架,比如bootstrap、Jquery等。
B/S(Brouser/Server)后端技术工具也有很多,比如.Net、JAVA、PHP等,各大语言都有其开发架构和工具,像.NET的MVC架构和Visual Studio工具,JAVA的J2EE架构和Eclipse工具。
数据库现在有三种主流的关系型数据库:Mysql\SQLserver\Oracle,还有Nosql非关系型数据库:Redis、Mogodb等。开发工具有SQL Server Management Studio、Navicat等。
Q2: 用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
分三层,即采用MVC的模式,可大大缩短编程的时间,节约成本,其次,以后维护起来也方便!
第一层--表示层:即视图,用来与客户交互。
第二层--业务逻辑层:即业务类,所有的相关的业务全部放在这个层里面。
第三层--数据访问层:即与数据库进行交互。
Q3: 用ASP.NET开发的一个BS系统运行过程中报"超时时间已到……达到了最大池大小。" 怎么解决??
问题分析:
问题的原因是与数据库的连接没有显示关闭,而等系统自动回收是要时间的.
解决方案:
1.在代码里面,把未关闭的连接关闭
2.扩大共享池,方法如下:
2.1修改连接池的连接生存期
因为默认值是60秒,即连接从应用程序被释放后可以在池中保存的时间。
如果是ODBC的话
则可以在ODBC Data Source Administrator中手动更改,该程序位于“Start”菜单中的“Programs”-"Adminstrative Tools"(中文名:管理工具)下,或从"Control Panel"(中文名:控制面板)中打开“ODBC Data Source Administrator”(ODBC数据源管理器),再选择“Connection Pooling”(连接池)选项卡,双击驱动程序中的“SQL Server”,选择“Pool Connetions to this drive”(使用池连接该驱动程序),把下面的时间60秒改的大一点,例如120。
如果是SqlConnection的共享连接
则为ConnectionString属性Connection Lifetime数值名称指定一个值,该值默认情况下是0,表示连接永远不会从池中被自动移走。如果指定一个不同的值,那么一旦连接被返回到池中,该值将和连接的创建时间及当前时间进行比较。如果生存期超过了Connection Lifetime的值,那么连接将从池中被移走。
2.2改变连接池的大小
在连接字符串的后面加上以下代码:Enlist=true;Pooling=true;Max Pool Size=300;Min Pool Size=0;Connection Lifetime=300;user id=sa;packet size=1000
-----------------------------------------------------------------
以上是网络中找的,其实出现这个问题不太应该,因为open后必须要close。
如果你认为open后都close的话,你查查是不是是不是用了try catch
而用try catch 的话一定把把 close放在 finally里,即 try{open} catch{} finally{close}
另外真的不建议你连数据库的时候用什么适配器,command语句,最后在fill这种。
有个类叫 sqlhelper ,微软出的,你去搜下,用法很简单,连接数据库直接调用里面的方法即可。
就一般就不会出现你说的问题。
Q4: 用.NET做B/S结构的系统,用几层结构来开发,每一层之间的关系以及为什么要这样分层?
简单的分三层:表示层(.aspx)、业务逻辑层(.cs)、数据持久层(数据库)
表示层里做页面,调用数据并显示。
业务逻辑层里写数据的处理代码,用来实现系统的功能。
数据持久层里存放数据,与程序分离,如果采用SQLServer等有管理后台的,做一些视图、存储过程,会使你的数据访问效率大增。
关于用.net做bs结构的系统和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







