Phenix.NET for WebAPI & WF & CSLA,企业级、分布式、符合领域建模的OOP软件快速开发平台

Phenix Framework and Teamwork Tools 20190624 下载地址 :

https://download.youkuaiyun.com/download/phenixiii/11316834

 

Phenix Framework and Teamwork Tools 交流群:206648373,可在群文件里下载最新版

  

 

 在IDE中设计业务类的映射关系演示:

 

以下是版本升级日志:

2007-11-09  1,完成 RemotingAgent 组件。为 Client 程序集提供统一的 remoting 参数设置和远程对象代理工厂;
            2,完成 Login 组件。为 Client 程序集提供统一的登录界面和用户校验机制,同时,自动进行文件的升级、本地与数据库的对时等功能;
            3,初步构建了一个应用服务容器,除了为 Login 等组件提供服务外,可自动加载当前目录下的 Service 程序集;

2008-05-21  1,完成业务组件框架,继承 CSLA 的 BusinessListBase、BusinessBase、ReadOnlyListBase、ReadOnlyBase、CommandBase,支持主从业务对象集;
            2,可自动映射和持久化业务对象,支持同一登陆用户的多步长事务;
            3,封装 CSLA 的本地和远程调用模式,通过 Login 组件自动切换,方便调试服务端代码;

2008-07-11  业务处理跟踪日志(留痕)引擎;
            
2008-08-01  数据集动态刷新服务引擎;

2008-08-03  Login 组件,如果用户选择的应用服务器不可登陆,可自动挑选可登陆的应用服务器;

...


2011-10-9升级:
BusinessBase取子业务对象集合时,可以从本地的业务对象集合中过滤出来:

    /// <summary>
    /// 取从业务对象集合
    /// </summary>
    /// <param name="expression">条件表达式</param>
    /// <param name="source">数据源</param>
    public TDetail GetDetail<TDetail, TDetailBusiness>(Expression<Func<TDetailBusiness, bool>> expression, TDetail source)
      where TDetail : BusinessListBase<TDetail, TDetailBusiness>
      where TDetailBusiness : BusinessBase<TDetailBusiness>


2011-10-24升级:
排除未注册的业务类,当Fetch时陷入死循环的缺陷。
 

2011-11-09升级:
AddIn工具添加“构建指令类”功能。


2011-11-27升级:
1,框架案例.zip新增Phenix.Windows.dll源码,你可以重新编译支持非v10.1版本的DevExpress
2,新增功能:在业务类的OnInsertingSelf、OnUpdatingSelf中中嵌入了附加的条件语句,可以实现如下效果的提交语句:
update PH_Department set DP_Name = 'aaa' where DP_ID = 33221343543545
and not exists (select * from PH_Department where DP_Name = 'aaa' and DP_ID <> 33221343543545)

本案例实现了DP_Name不允许重复的业务逻辑。不过业务类中我们无需添加类似逻辑代码,唯一索引验证功能在框架中已默认实现。

    /// <summary>
    /// 新增本对象集合之前
    /// 在运行持久层的程序域里被调用
    /// </summary>
    /// <param name="transaction">数据库事务</param>
    /// <param name="limitingConditions">限制保存的条件</param>
    protected virtual void OnInsertingSelf(DbTransaction transaction, out Criterions[] limitingConditions)
    {
      limitingConditions = 需要限制保存的条件;
    }

    /// <summary>
    /// 更新本对象集合之前
    /// 在运行持久层的程序域里被调用
    /// </summary>
    /// <param name="transaction">数据库事务</param>
    /// <param name="limitingConditions">限制保存的条件</param>
    protected virtual void OnUpdatingSelf(DbTransaction transaction, out Criterions[] limitingConditions)
    {
      limitingConditions = 需要限制保存的条件;
    }

3,当提交时满足限制条件则抛出CheckSaveException异常。如果是通过BarManager提交的,则可以在它的OnSaveFailed(e)事件里处理这个异常,如果不想由BarManager提示的话,则可以将e.Applied=true


2011-12-14升级:
BusinessListBase新增功能:可通过GetRecordCount()函数获取指定条件下的记录数:

    /// <summary>
    /// 获取记录数量
    /// </summary>
    /// <param name="criteriaExpression">条件表达式</param>
    public static long GetRecordCount(CriteriaExpression criteriaExpression)
 

2011-12-19升级:
类似下面的语句可以产生Exists、UnExists语句:


WorkingProcessLocks = ProcessLockList.Fetch(
        ProcessLock.AllowexecuteProperty == true & ProcessLock.NameProperty == "a"& ProcessLockList.Exists(ProcessLock.AllowexecuteProperty == false));

Command Text="select  PL_NAME,PL_ALLOWEXECUTE,PL_TIME,PL_USERNUMBER,PL_REMARK from PH_PROCESSLOCK where ((  PL_ALLOWEXECUTE  = :PK_PL_ALLOWEXECUTE689faafad8d2  and   PL_NAME  = :POCESSLOCK_PL_NAME0a99cadeeaee )and ( exists (select * from PH_PROCESSLOCK where   PL_ALLOWEXECUTE  = :PK_PL_ALLOWEXECUTEae66969bf88a )))


2011-12-21升级:
排除SQLServer数据库下的bug。
 

2011-12-26升级:
加入“权限管理、系统应用框架”源码。
请留意版权声明:Phenix.license.txt
 

2012-01-16升级:
纠正Phenix.Services.Host.exe在Win7-64位旗舰版下注册Phenix.Addin不到VS2010执行目录下的情况。
 

2012-03-31升级:
1,支持简繁体;
2,纠正一些细小bug;

 
2012-05-13升级:
1,重新整理授权规则类及配套的辅助代码生成Addin工具;
2,内含系列说明书:
《Phenix Framework Tools.使用指南.01.简介》
《Phenix Framework Tools.使用指南.02.部署开发环境》
《Phenix Framework Tools.使用指南.03.Addin工具使用方法》
《Phenix Framework Tools.使用指南.04.登录应用系统》
《Phenix Framework Tools.使用指南.05.业务对象公共接口的授权》
《Phenix Framework Tools.使用指南.06.ReadWriteAuthorization组件》
《Phenix Framework Tools.使用指南.07.ExecuteAuthorization组件》
 

2012-5-16升级:
添加说明书:
《Phenix Framework Tools.使用指南.08.业务对象公共接口的数据验证》
《Phenix Framework Tools.使用指南.09.EditValidation组件》
 

2012-6-25升级:
添加说明书并整理公共接口:
《Phenix Framework Tools.使用指南.10.BarManager组件》
《Phenix Framework Tools.使用指南.11.业务对象生命周期及其状态》
《Phenix Framework Tools.使用指南.12.业务结构对象模型》
 

2012-8-30升级:
1,CSLA封装到4.3.12版本
2,增加分页Fetch机制:Phenix.Business.BusinessListPageBase
3,添加说明书并整理公共接口:
《Phenix Framework Tools.使用指南.13.日志服务》
《Phenix Framework Tools.使用指南.14.过程锁》
《Phenix Framework Tools.使用指南.15.业务码》
《Phenix Framework Tools.使用指南.16.分页检索业务对象》
《Phenix Framework Tools.使用指南.17.条件检索业务对象》
《Phenix Framework Tools.使用指南.18.数据库设计规则》
《Phenix Framework Tools.使用指南.19.缓存》
《Phenix Framework Tools.使用指南.20.动态刷新》
4,CSLA封装到4.3.13版本
5,优化业务对象缓存机制的性能
 

2012-12-05
1,全面优化性能
2,支持SQLserver能力已经验证
3,加强Fetch的查询条件表达式

 
2012-12-31
支持诸如下述Fetch方法:
List<string> names = new List<string>() {"ADMIN"};
ProcessLockList.Fetch(mm => !names.Contains(mm.Name));


2013-1-27
1,支持诸如下述Fetch方法:
List<string> shopcodelist = pdlist.Select(mm => mm.ShopCode).ToList();
SPA_Business.Shop_BaseList ssl = SPA_Business.Shop_BaseList.Fetch(mm => shopcodelist.Contains(mm.Shopcode));
2,补充:BusinessBase类RefreshLink()函数
3,修正bug:对SqlServer的支持等
4,修正bug:分页功能、计算字段功能、GetLink功能
5,完善:允许混合LAN和WAN环境下连同一应用服务器
6,优化Addin工具: 枚举的Caption属性带字段缓存
7,优化性能
8,优化升级客户端文件性能


2013-2-4
修正bug:带CheckDirtyOnSaving = true乐观锁机制的删除,当未能删除时应该抛CheckDirtyException异常


2013-2-7
支持诸如下述Fetch方法:
ProcessLockList.Fetch(mm => mm.Name.Contains("ADMIN");


2013-2-14
支持同构/异构节点的树状业务类:Phenix.Business.BusinessTreeBase、Phenix.Business.BusinessTreeNodeBase
对应的窗体组件:Phenix.Windows.TreeListDragDropManager,管理TreeList控件的构建和拖拽等功能


2013-3-14
1,修正bug:对SqlServer的支持等
2,重构:BusinessListPageBase


2013-3-17
1,优化性能等
2,FieldAggregateAttribute增加ToDoOnUpdate属性:控制在update的时候是否需要ToDo主表的对应字段


2013-3-21
发布:Phenix.Web.Mvc源码


2013-4-7
扩展Phenix.Windows.BarManager组件:
解决因Execl文档存在多个Sheet且未指定Sheet名称或Sheet名称错误的问题而影响导入,可通过弹出“输入Execl的Sheet名称”对话框来让用户更改Sheet的名称,起到系统容错的作用


2013-4-8
添加Addin工具新功能:对于映射视图的业务/查询类,当使用“初始化/编辑业务类”、“初始化/编辑查询类”时,会自动为当前工程添加或重写该视图的SQL文件,文件名为视图名.SQL


2013-4-9
添加说明书:
《Phenix Framework Tools.权限管理.01.简介》
《Phenix Framework Tools.权限管理.02.搭建解决方案》


2013-4-15
1,优化全景数据获取
2,优化Selected清单与界面的交互方式
3,添加说明书:
《Phenix Framework Tools.权限管理.03.角色管理工程.勾选清单》


2013-4-28
1,重构树状业务类:Phenix.Business.BusinessTreeBase、Phenix.Business.BusinessTreeNodeBase,仅支持同构节点
2,对应的窗体组件:Phenix.Windows.TreeListManager,管理TreeList控件的属性设置、拖拽权限验证等功能
3,添加说明书:
《Phenix Framework Tools.权限管理.04.岗位管理工程.树状结构》
《Phenix Framework Tools.权限管理.05.部门管理工程.快捷导航》


2013-5-27
1,完善带属性联结表的多对多数据处理方法
2,完善执行规则验证机制,可支持传递给验证类的上下文Phenix.Business.Rules.AuthorizationContext带Arguments参数供判断
3,升级CSLA到4.3.14版本
4,升级Phenix.Extended支持到12.2.X版本DevExpress控件包
5,升级配置库:需重启Phenix.Services.Host.exe以便自动升级
6,添加说明书:
《Phenix Framework Tools.权限管理.06.表过滤器管理工程.级联选择》
《Phenix Framework Tools.权限管理.07.切片管理工程.勾选编辑》
《Phenix Framework Tools.权限管理.08.用户管理工程.执行规则》
《Phenix Framework Tools.权限管理.09.用户日志管理工程.勾选删除》


2013-6-22
1,优化主从数据处理Filter方法及性能
2,支持带主从层级关系GridView的GridControl
3,支持Linq条件中带Array的Fetch方法
4,优化业务对象缓存机制的性能
5,添加说明书:
《Phenix Framework Tools.权限管理.10.程序集管理工程.主从结构》
《Phenix Framework Tools.使用案例.业务数据的缺省值-序号》
《Phenix Framework Tools.使用案例.业务数据的读写-加解密》
《Phenix Framework Tools.权限管理.11.自动解除用户登录失败锁工程.服务插件》


2013-6-23
修正bug:当业务对象的AllowEdit属性值为false而业务对象集合的AllowEditItem属性值为true时,BarManager的Edit功能按钮应该是不允许被点击的


2013-6-27
修正bug:恢复支持带非long类型主键的类,这些对象在new时主键不会被赋值,也不会在尝试赋值时抛出异常


2013-6-29
重构Phenix.StandardRule.Information:添加简单的评审流程


2013-7-4
1,提供Phenix.Core.Net.RemotingConfig.Timeout配置属性,控制remoting请求在超时前等待的毫秒数
2,提供Phenix.Core.Data.DbConnectionInfo.MSSqlConnectTimeout配置属性,控制MSSql数据库的Connect Timeout超时等待时间(秒)
3,提供Fetch超时配置属性:在你要Fetch的业务(集合)类里,覆写

    /// <summary>
    /// 等待Fetch命令执行的时间(秒数), null 指示不限制
    /// 默认值为 null
    /// </summary>
    public virtual int? FetchTimeout
    {
      get { return null; }
    }


2013-7-19
添加SHB.Charge.Subject演示工程和视频链接


2013-8-23
1,修正组件有时会发生序列化错误的问题
2,Phenix.Windows的BarManager组件中添加两事件:

    /// <summary>
    /// 删除按钮触发提示被否决后事件
    /// </summary>
    publi

CSLA.NET是一个在分布式环境下只通过修改配置文件就可以实现N层部署的框架. 它致力于构建丰富,强大而灵活的业务层,包含了验证,权限,数据门户等标准化的解决方案,使你的业务对象更加标准和灵活.它提出了移动对象(Mobile Object) 的概念,使业务对象在不同的服务器上物理性的移动.但它并不失灵活性,其数据门户对ADO.NET,LINQ, ADO.NET Entity Framework,Nhibernate等都能够支持.CSLA.NET还支持在业务对象上构建WPF、ASP.NET(Web Forms、AJAX和 MVC)和Windows Forms,WCF service,Windows Workflow,web Services,Silverlight等用户接口.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSLA.NET开始于2001年,已经有8年时间了.现在已经被使 用在很多项目中.最新发布的3.6版本包括CSLA.NET &nbsp;for Windows和CSLA.NET for Silverlight两个版本.其中CSLA.NET for Silverlight对Silverlight2.0提供了无缝支持.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CSLA.NET提供核心功能:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;完全支持数据绑定(WPF,Silverlight,Windows Form和Web Form)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;对象状态追踪(对象是否为新增、修改、标记为删除,等等。)&nbsp;&nbsp;&nbsp;&nbsp;标准化业务和验证规则处理&nbsp;在对象和属性层级的标准化授权&nbsp;整合及简化,标准的.NET身份验证模型&nbsp;&nbsp;撤销(Undo)功能,用来支持实作取消按钮,和复杂分层的用户接口(UI)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;标准化集成与数据存取层或ORM&nbsp;加强对于业务对象的LINQ查询支持&nbsp;许多的一般生产力(productivity)功能,可用于很多的企业应用程序方案中&nbsp;异步数据存取,和异步验证规则&nbsp;&nbsp; 支持的平台有:Microsoft .NET 1.x through 4.5.1Windows Runtime (WinRT for Windows 8.1)Windows Runtime (WinRT for Windows Phone 8.1)Windows Phone 8 (Silverlight)Silverlight 5Android (using the Xamarin tools)iOS (using the Xamarin tools)Linux and OSX (using mono) 标签:.net开发框架
评论 16
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值