- 热门文章:
- · Matt Powell的《Server-Side 异步Web Methhods》
- · DataGrid和DropDownList的一些配合以及使用css定制DataGrid
- · 轻松解决asp.net论坛中的一版块多斑竹和一用户担任多版块斑竹的问题(不用数组和split)
- · 分享:aspx页面javascript的几个trick
- · 2个页面间不通过Session与url的传值方式
- · Solidworks二次开发—09--添加配合参考
- · Solidworks二次开发—08--判断是什么特征
- · 创建动态数据输入用户界面
- · 可以代替窗体Refresh方法的函数
- · 无外部控件制作多媒体播放器(四)
- · 无外部控件制作多媒体播放器(三)
- · DirectX9 3D快速上手 3
上一篇:如何用请求字符串传值给用模式窗口打开的aspx页面。 >>
Duwamish7学习笔记1
Duwamish7学习笔记(-)
Duwamish解决方案总共有6个项目,结构上分为5层:业务外观层(BusinessFacade)、业务规则层(BusinessRules)、业务实体层(Common)、数据访问层(DataAccess)、业务展示层(Web).另外一项目为SystemFrameWork,顾名思意,主要是用来进行整个系统构架的一些配置、跟踪、日志等.
Common项目
1.让我们来看一看Duwamish7的数据结构,图1
2.对数据库中Book,Category,Customer,Order四个最主要的对象进行了业务实体封装,四个类均继承自DataSet,但类加入两个属性: [System.ComponentModel.DesignerCategory("Code")]、[SerializableAttribute],前一个属性的意思是指定当前类设计器属于某一类别。后一个属性标记当前类为可序列化类,使之可远程调用。
类中对数据库中表和表中字段进行了映射,部份类中还定义了相关的错误信息如
public const String EMAIL_FIELD_NOT_UNIQUE = "Email Not Unique";
3.在默认的构造函数中调用BuildDataTables()方法创建表结构并添加到DataSet中。BookData、CategoryData、CustomerData类中均只保存一个表,而OrderData类中保存有与订单相关的6个表信息。
DataSet中的表与数据库中物理表有的是一一对映,有的是一个物理表对应DataSet中多个表,而有的多个物理表对应Dataset中一个表.
4.Common项目中还有一个DuwamishConfiguration类,用来获取Web.Config文件中对Duwamish配置项,继承自IConfigurationSectionHandler接口。该接口定义如下协定:所有配置节处理程序必须在实现后才能参与配置设置的解析。该接口只有一个Create()方法,DuwamishConfiguration类中实现Create()方法,通过NameValueSessionHander实例baseHandler.Create()方法填充NameValueCollection setting,再调用
ApplicationConfiguration.ReadSetting()方法返回指定的某个配置信息。
疑问:
1.4个业务实体类均有一个支持序列化的构造函数如BookData类的
private BookData(SerializationInfo info, StreamingContext context) : base(info, context) {}
不是很明白,此4个类序列化没有特别的的引用对象,应该只要进行“基本序列化”即简单的在类前加Serializable 属性对它进行标记即可,为什么还要定义一个支持序列化的构造函数呢?是不是因为继承DataSet的原因??
2.系统什么时候,怎么样调用DuwamishConfiguration类的Create()方法取得Web.Config文件中的相关配置信息?
MSDN帮助:
1.System.Configuration 命名空间
ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemconfiguration.htm
相关文章:
- · AlertButton, 您确定要执行吗?
- · 无外部控件制作多媒体播放器(二)
- · 用TreeView显示数据通用方法
- · 无外部控件制作多媒体播放器(一)
- · Web Browser Express 概述
- · datagrid编辑删除分页
- · 展现C# 清单5.10 生成exe文件执行的问题
- · 联通增值业务“定位之星”L1协议服务端的模拟器
- · 一个自认为写得还可以的存储过程,就是没有注释,看起来有点乱。与ERP的BOM相关的
- · [EnterpriseServices]利用assembly定义我们的组件在COM+中的注册方式
- · 给windows服务添加描述
- · 用户认证管理设计方案
- · Solidworks二次开发—07—控制草图对象
- · 数据库事务处理的另外一种方法
- · 《Essential .Net》读书笔记 - Chapter 3
- · DX图形显示基本流程(基于MESH静态模型绘制----托管代码)
- · 如何让 DevExpress 的 DateEdit 控件正确显示日期的周名
- · ASP.net下的前台日历控件源代码(不刷新页面)
- · 通过可视化继承和页面模板控制站点设计
- · 在ASP.Net中两种利用CSS实现多界面的方法
- · 数据表单向导的快速实现
- · Posting form data from ASP.NET page to another URL
- · Asp.net中Treeview终极解决方案
- · 解决ASP.NET创建的线程的用户改变引发的拒绝访问错误
- · 有关sql注入
- · 一个动态编译的例子
- · 一个拷贝整个文件夹(包括子文件夹)的方法(原创)
- · 在ASP.NET中实现弹出日历
- · 在DataGrids和DropDownLists中使用ADO
- · asp.net 页面中生成 RSS 2.0 提要
- · Session登陆后丢失的解决办法
- · 基于HTTP协议用WinSock实现任意文件下载
- · 奔腾Flash Player source code
- · 《Essential .Net》读书笔记 - Chapter 2
- · 《Essential .Net》读书笔记 - Chapter 1
- · 获取指定IP的终端的MAC地址
- · 网络传输(FTP)问题
- · Paint.NET: An Open Source GDI+ App Likes Photoshop
