Asp.net(C#)四层架构自助建站系统最新随笔RSS
 
摘要: 在使用Castle ActiveRecord 进行软件开发的过程中,为了达到数据库移植,有些地方需要注意,否则,程序可能会嘎然而止,这些问题却不可能预知,因此应在以下几个地方注意:1、数据长度必须准确定义,如果不能确定,宁可长也不必短。 现象:在SqlServer下,如果字段长度比实际数据的长度小,数据库会自动截断,但在Postgresql中则抛了异常。2、Binary(二进制)数据类型的选择。 ... 阅读全文
2012-01-10 14:53 作者: 杨义金【评论:0】【阅读:67】 
摘要: 写在前面: 软件开发伴随我走过11年职业生涯,大大小小的系统开发过好多个,有成功的,有失败的,软件公司虽然是戴着高科技的帽子,却干着苦命的工作,整个过程对开发人员来讲,都是煎熬,但问题出在哪呢?如何解决呢? 针对以上问题及我在行业实践中的总结,结合公司的框架情况,将我们的工作成果及解决方案发表如下,供各位同学参考,也希望高手提出宝贵意见。 行文组织说明:先概括,后具体,先提问题,再思考问题的解决方... 阅读全文
2011-10-13 13:42 作者: 杨义金【评论:5】【阅读:2941】 
摘要: 框架一词是被使用最泛滥的词语,目前在光标科技内部即指IBeamMDAA,是为解决企业信息化应用而建立的应用工具集,包含应用服务器宿主、常用工具集、系统自举、任务调度、企业基础设施与应用入口工具集等部分,它解决了应用开发、部署、维护配置等软件工程方面的问题,但它并不是万能的,每位使用者都应有一个清晰的认识,我相信任何系统都有它的设计目标与能力范围,而对于使用者而言最重要的是框架能提供什么价值,在适当... 阅读全文
2011-10-13 13:00 作者: 杨义金【评论:0】【阅读:142】 
摘要: IBeamMDAA使用Common.Logging作为日志输出组件,使用方法非常简单,代码如下: ILog log = LogManager.GetLogger(this.GetType()); log.Info("日志信息"); 关于如何配置Common.Logging请查看“IBeamMDAA应用服务器配置”章节。 只是在使用日志组件时,也要注意日志的级别,不必输出所有级别... 阅读全文
2011-10-13 12:58 作者: 杨义金【评论:0】【阅读:220】 
摘要: 自动任务在实际运行中一般不需要人工管理,但有时需要更改任务的运行参数,或根据服务器的负载情况来调整哪些服务器运行哪些任务等,此时需要对服务器运行参数进行调整。 应用服务器的管理是通过客户端进行的,调整结束后,必须重新启动服务器才可应用最新配置。 查看指定应用服务器上的自动任务实例: 自动任务管理及参数调整: 参数调整示例: 比如 自动任务A 是专门负责处理某类任务的,数据量有100万条,每条数据的... 阅读全文
2011-10-13 12:55 作者: 杨义金【评论:0】【阅读:254】 
摘要: 每个公司或团队都有自己的开发习惯或开发模式,光标科技这些年来一直坚持CodeFirst,对于实体对象的分析设计,我们的流程是,先根据业务需求分析设计出实体对象及对象之间的关系,最终生产出UML类图,为了避免管理图纸与需求文档花去过多的时间,其它UML图在业务简单的情况下默认省略,只在业务复杂的时候配上流程图,帮助程序员写代码;代码规范与写法每位员工入职时必须先学习,框架结构与操作流程 也在真正进入... 阅读全文
2011-10-13 12:50 作者: 杨义金【评论:1】【阅读:410】 
摘要: 使用ORM映射工具对数据库进行操作,由于对象关系(数据库表关系)间的复杂关系,往往导制N+1次数据查询,即:本来是查询某一数据对象,却因为对象关系把与对象相关的所有数据都从数据库加载到内存,而这些数据并没有被使用到,然后又马上丢弃,有时甚至只是一个简单的查询,却将整个数据库读取到内存后又丢弃,如此反反复复,整个数据库服务器都在不停的运转,高磁盘IO,高CPU占用率,完全是无用功。 数据库缓存的作用... 阅读全文
2011-10-13 12:48 作者: 杨义金【评论:0】【阅读:359】 
摘要: IBeamMDAA没有限制必须使用什么样的数据库访问技术,IBeamMDAA即没有自己创造数据访问层组件,也没有使用.net最新数据访问层技术(比如:Linq或EntityFreamwork),而是保守地使用了经过大量实践检验的NHibernate,但我们推荐使用CastleActiveRecord,CastleActiveRecord的基础组件使用NHibernate,因此,IBeamMDAA目... 阅读全文
2011-10-13 12:44 作者: 杨义金【评论:0】【阅读:234】 
摘要: 取当事人的联系首先是要找到当事人(Party),当事人属性中定义了联系方式列表属性(ContactMechanisms): #region 用户拥有的联系方式 private static PropertyInfo<ContactMechanismList> ContactMechanismsProperty = RegisterProperty(typeof(Party), new ... 阅读全文
2011-10-13 12:39 作者: 杨义金【评论:0】【阅读:107】 
摘要: /// <summary> ///根据当事人挡任的角色名称、当事人名称、名称拼音、身份证号模糊查询当事人 /// </summary> /// <param name="RoleName">角色名称</param> /// <param name="Name">当事人名称</param>... 阅读全文
2011-10-13 12:35 作者: 杨义金【评论:0】【阅读:140】 
摘要: 业务处理时必须确定事件的当事人,系统中提共了多种方法选择当事人。 所在组件:IBeamMDAACommon.dll 名称空间:IBeam.MDAA.Objects (业务对象) 用法举例: 通过代码选择: /// <summary> /// 根据名称、名称拼音、身份证号模糊查询当事人 /// </summary> /// <param name="Name&... 阅读全文
2011-10-13 12:34 作者: 杨义金【评论:0】【阅读:140】 
摘要: 在人与人交往或商业活动中,事件发生或交易的参与人都称为当事人,当事人可能是个人,也可能是组织或团体,每个当事人都扮演了一定的角色。 每个人在工作或生活中都有多种角色,比如: 张三 对于其父母来说,角色是 儿子,张三 对于其 姊妹来说是 哥哥,对于其所在单位 张三 是雇员。 在企业管理中角色也称为岗位,有时一个岗位就是一个人,有时一个岗位可能有多个人,也有可能某人身兼数职,也即他同时在多个岗位上任职... 阅读全文
2011-10-13 12:33 作者: 杨义金【评论:0】【阅读:150】 
摘要: Winform 客户端程序自动显示运行主程序集的名称,在程序集信息中填写好即可,如下图所示: 关于产品信息: 阅读全文
2011-10-13 12:28 作者: 杨义金【评论:3】【阅读:406】 
摘要: 系统刚刚建立时,完全是一个空的系统,IBeamMDAA系统自动创建一名系统管理员,并且管理员代表的当事人是顶级机构,系统管理员不可删除,且在查询系统操作员时也不列出,用户名称为:admin,初始默认密码为:123456,管理员是特权用户,具有所有权限。 在讨论组织机构的权限传递时,我们首先要在心中有一个组织机构的概念,现假定可能的情况如下图所示: 系统刚刚建立时,管理员代表顶级机构为操作员及下属分... 阅读全文
2011-10-13 11:51 作者: 杨义金【评论:0】【阅读:158】 
摘要: 界面与功能之间具有一对多的关系,特定功能可能出现在多个用户界面中,用户界面的类型有多种多样,比如:Winform桌面应用,Asp.net页面,MVC页面,或者其它等。 界面与功能是通过功能的ID号对应的,注册定义如下: #region 产品管理 public const string ProductsCatalog = "供应链"; public const string Pr... 阅读全文
2011-10-13 11:39 作者: 杨义金【评论:0】【阅读:140】 
摘要: 用户的业务逻辑展示界面在使用之前,必须进行注册,将界面注册到系统,根据用户是否具有界面中的功能,主程序将根据用户授权展示与授权相关的界面给用户使用。 界面注册必须使用IBeamUIAttribute 自定义属性: 定义如下: /// <summary> /// 界面注册标志属性 /// </summary> [AttributeUsageAttribute(Attribut... 阅读全文
2011-10-13 11:38 作者: 杨义金【评论:0】【阅读:158】 
摘要: 权限验证包含认证与授权两部分,用户登录属于认证的问题,验证当前用户是否具有指定功能的权限属于授权的问题,IBeamMDAA已集成了这两部分的功能,我们只需在适当的时候使用即可。 权限验证与业务对象紧密联系,不能单独谈论,比如:产品信息的管理可能有:查询、增加、编辑、删除等功能,应对当前用户是否有权限操作产品实例作出决断,代码如下: btnAdd.Enabled = _ProductsCategor... 阅读全文
2011-10-13 11:33 作者: 杨义金【评论:0】【阅读:185】 
摘要: 登录到系统、退出当前系统是所有信息系统的基本功能之一,IBeamMDAA框架中已集成了这些功能。 所在组件:IBeamMDAACommon.dll 名称空间:IBeam.MDAA.Objects (业务对象) 用法举例: 登录到系统: success = IBeamPrincipal.Login(_FrmLogonDialog.User, _FrmLogonDialog.Password); 从系... 阅读全文
2011-10-13 11:29 作者: 杨义金【评论:0】【阅读:398】 
摘要: 媒体代表了各种各样的文件,统一存储在数据里,使用媒体时我们称为引用到媒体,简称媒体引用;媒体存储在数据里,大的数据文件可能几M或几十M,没有必要每次读写媒体引用时都要把这些加载到内存,读写这些大数据时性能消耗非常大。所在组件:IBeamMDAACommon.dll 名称空间:IBeam.MDAA.Objects (业务对象) 用法举例: 媒体引用定义:数据加载:媒体引用在界面编辑中的赋值:数据都是... 阅读全文
2011-10-13 11:17 作者: 杨义金【评论:0】【阅读:77】 
摘要: 地理范围即行政区划,用于定位用户所在城市或设施所在位置,系统已经自动实现了中国的地理范围,如果数据库中地理范围为空,系统自动为用户初始化地理范围。所在组件:IBeamMDAACommon.dll 名称空间:IBeam.MDAA.Objects (业务对象) 用法举例: 通过代码取得地理范围: gbList = GeographicBoundaryList.GetGeographicBoundary... 阅读全文
2011-10-13 11:04 作者: 杨义金【评论:1】【阅读:167】 

导航

广告

团队简介

团队公告

QQ群

聚合

团队负责人

团队成员[共15人]