Phenix.NET for WebAPI & WF & CSLA,企業級、分佈式、符合領域建模的OOP軟件快速開發平臺

2016-8-28版本: Phenix6(for WebAPI & WF & CSLA)開發平臺        :

http://download.csdn.net/detail/phenixiii/9615312

 

CSLA & Delphi 愛好者 & Phenix for .net 開發平臺用戶交流羣:206648373

  

以下是版本升級告示:

 在IDE中設計業務類的映射關係演示:

 

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升級:

框架案例.zip新增Phenix.Windows.dll源碼,你可以重新編譯支持非v10.1版本的DevExpress

 

新增功能:在業務類的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 = 需要限制保存的條件;
    }
當提交時滿足限制條件則拋出CheckSaveException異常。如果是通過BarManager提交的,則可以在它的OnSaveFailed(e)事件裏處理這個異常,如果不想由BarManager提示的話,則可以將e.Applied=true。

 

2011-12-05升級:

恢復FieldRuleAttribute功能

 

2011-12-14升級:

BusinessListBase<T, TBusiness>新增功能:與Fetch()函數對應,可通過GetRecordCount()函數獲取指定條件下的記錄數

 

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升級:

支持簡繁體;

糾正一些細小bug;

 

2012-05-13升級:

重新整理授權規則類及配套的輔助代碼生成工具Addin;

內含系列說明書:

Phenix.NET企業應用軟件快速開發平臺使用指南.01.簡介

Phenix.NET企業應用軟件快速開發平臺使用指南.02.部署開發環境

Phenix.NET企業應用軟件快速開發平臺使用指南.03.Addin工具使用方法

Phenix.NET企業應用軟件快速開發平臺使用指南.04.登錄應用系統

Phenix.NET企業應用軟件快速開發平臺使用指南.05.業務對象公共接口的授權

Phenix.NET企業應用軟件快速開發平臺使用指南.06.ReadWriteAuthorization組件

Phenix.NET企業應用軟件快速開發平臺使用指南.07.ExecuteAuthorization組件

 

2012-5-16升級:

添加說明書:

Phenix.NET企業應用軟件快速開發平臺使用指南.08.業務對象公共接口的數據驗證

Phenix.NET企業應用軟件快速開發平臺使用指南.09.EditValidation組件

 

2012-6-1升級:

添加說明書並整理公共接口:

Phenix.NET企業應用軟件快速開發平臺使用指南.10.BarManager組件

Phenix.NET企業應用軟件快速開發平臺使用指南.11.業務對象生命週期及其狀態

 

2012-6-25升級:

添加說明書並整理公共接口:

Phenix.NET企業應用軟件快速開發平臺使用指南.12.業務結構對象模型

 

2012-7-12升級:

CSLA封裝到4.3.12版本

增加分頁Fetch機制:Phenix.Business.BusinessListPageBase<T,TBusiness>

添加說明書並整理公共接口:

Phenix.NET企業應用軟件快速開發平臺使用指南.13.日誌服務

Phenix.NET企業應用軟件快速開發平臺使用指南.14.過程鎖

Phenix.NET企業應用軟件快速開發平臺使用指南.15.業務碼

Phenix.NET企業應用軟件快速開發平臺使用指南.16.分頁檢索業務對象

 

 2012-7-24升級:

添加說明書並整理公共接口:

Phenix.NET企業應用軟件快速開發平臺使用指南.17.條件檢索業務對象

Phenix.NET企業應用軟件快速開發平臺使用指南.18.數據庫設計規則

 

2012-8-6升級:

添加說明書並整理公共接口:

Phenix.NET企業應用軟件快速開發平臺使用指南.19.緩存

Phenix.NET企業應用軟件快速開發平臺使用指南.20.動態刷新

 

2012-8-30

CSLA封裝到4.3.13版本

優化緩存性能

 

2012-12-05

全面優化性能

支持SQLserver能力已經驗證

加強Fetch的查詢條件表達式

 

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


2013-1-4
修正bug
補充:Phenix.Business.BusinessBase類RefreshLink函數


2013-1-6
修正bug:對SqlServer的支持等


2013-1-11
修正bug:分頁功能、計算字段功能、GetLink功能
完善:允許混合LAN和WAN環境下連同一應用服務器


2013-1-12
優化Addin: 枚舉的Caption屬性帶字段緩存


2013-1-27
支持諸如下述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));
補充:Phenix.Business.BusinessBase類RefreshLink函數
修正bug:對SqlServer的支持等
修正bug:分頁功能、計算字段功能、GetLink功能
完善:允許混合LAN和WAN環境下連同一應用服務器
優化Addin: 枚舉的Caption屬性帶字段緩存
優化性能
優化升級客戶端文件性能


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
修正bug:對SqlServer的支持等
重構:BusinessListPageBase


2013-3-17
優化性能等
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.NET企業應用軟件快速開發平臺.權限管理.01.簡介
Phenix.NET企業應用軟件快速開發平臺.權限管理.02.搭建解決方案


2013-4-15
優化全景數據獲取
優化Selected清單與界面的交互方式
Phenix.NET企業應用軟件快速開發平臺.權限管理.03.角色管理工程


2013-4-16
優化緩存性能


2013-4-24
重構樹狀業務類:Phenix.Business.BusinessTreeBase、Phenix.Business.BusinessTreeNodeBase,僅支持同構節點
對應的窗體組件:Phenix.Windows.TreeListManager,管理TreeList控件的屬性設置、拖拽權限驗證等功能
添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.權限管理.04.崗位管理工程.樹狀結構》


2013-4-28
優化緩存、動態刷新性能
添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.權限管理.05.部門管理工程.快捷導航》


2013-5-3
修正bug:前一版升級缺陷

 

2013-5-8
添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.權限管理.06.表過濾器管理工程.級聯選擇》


2013-5-27
完善帶屬性聯結表的多對多數據處理方法
完善執行規則驗證機制,可支持傳遞給驗證類的上下文Phenix.Business.Rules.AuthorizationContext帶Arguments參數供判斷
升級CSLA到4.3.14版本
升級Phenix.Extended支持到12.2.X版本DevExpress控件包
升級配置庫:需重啓Phenix.Services.Host.exe以便自動升級
添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.權限管理.07.切片管理工程.勾選編輯》
《Phenix.NET企業應用軟件快速開發平臺.權限管理.08.用戶管理工程.執行規則》
《Phenix.NET企業應用軟件快速開發平臺.權限管理.09.用戶日誌管理工程.勾選刪除》


2013-6-12
優化主從數據處理Filter方法及性能
支持帶主從層級關係GridView的GridControl
支持Linq條件中帶Array的Fetch方法
優化緩存性能
添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.權限管理.10.程序集管理工程.主從結構》


2013-6-22
添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.使用案例.業務數據的缺省值-序號》
《Phenix.NET企業應用軟件快速開發平臺.使用案例.業務數據的讀寫-加解密》
《Phenix.NET企業應用軟件快速開發平臺.權限管理.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
提供Phenix.Core.Net.RemotingConfig.Timeout配置屬性,控制remoting請求在超時前等待的毫秒數
提供Phenix.Core.Data.DbConnectionInfo.MSSqlConnectTimeout配置屬性,控制MSSql數據庫的Connect Timeout超時等待時間(秒)
提供Fetch超時配置屬性:在你要Fetch的業務(集合)類裏,覆寫
    /// <summary>
    /// 等待Fetch命令執行的時間(秒數), null 指示不限制
    /// 默認值爲 null
    /// </summary>
    [System.ComponentModel.Browsable(false)]
    [System.ComponentModel.DataAnnotations.Display(AutoGenerateField = false)]
    public virtual int? FetchTimeout
    {
      get { return null; }
    }


2013-7-19
添加SHB.Charge.Subject演示工程和視頻鏈接

2013-8-23
修正組件有時會發生序列化錯誤的問題
Phenix.Windows的BarManager組件中添加兩事件:
    /// <summary>
    /// 刪除按鈕觸發提示被否決後事件
    /// </summary>
    [Description("當點擊刪除按鈕提示被否決之後觸發"), Category("ToolBar")]
    public event EventHandler<BarItemDeleteEventArgs> DeleteRejected;

    /// <summary>
    /// 取消按鈕觸發提示被否決後事件
    /// </summary>
    [Description("當點擊取消按鈕提示被否決之後觸發"), Category("ToolBar")]
    public event EventHandler<BarItemClickEventArgs> CancelRejected;


2013-9-2
擴展EditValidation、ReadWriteAuthorization,可支持DevExpress.XtraTreeList.Columns.TreeList
修正bug:對SqlServer的支持


2013-9-11
修正級聯刪除bug


2013-9-18
修正前一版本GetDatail的bug


2013-9-24
修正Addin構建編輯業務類界面上的配置屬性AllowReservedColumn,使之與IsBusinessCodeColumn、IsInputerColumn等配置屬性無關聯


2013-10-18
擴充業務基類、業務集合基類的:
    /// <summary>
    /// 構建本業務對象之前
    /// 在運行持久層的程序域裏被調用
    /// </summary>
    /// <param name="connection">數據庫連接</param>
    /// <param name="command">DbCommand</param>
    /// <param name="criterions">條件集</param>
    protected virtual void OnFetchingSelf(DbConnection connection, DbCommand command, Criterions criterions)
    {
    }

    /// <summary>
    /// 構建本業務對象之前
    /// 在運行持久層的程序域裏被調用
    /// </summary>
    /// <param name="transaction">數據庫事務</param>
    /// <param name="command">DbCommand</param>
    /// <param name="criterions">條件集</param>
    protected virtual void OnFetchingSelf(DbTransaction transaction, DbCommand command, Criterions criterions)
    {
    }
可重載後對command.CommandText進行處理,如果被賦過SQL語句,則會跳過框架持久層引擎自動拼裝SQL的功能,也就是可以干預數據提取過程


2013-10-26
1,增加host服務程序的監控功能,崩潰時可啓動新進程:Phenix.Services.Host.Monitor.exe,64位執行Phenix.Services.Host.Monitor.x64.bat、32位執行Phenix.Services.Host.Monitor.x86.bat
2,重構分頁業務類:Phenix.Business.BusinessListPageBase、Phenix.Business.BusinessPageBase,業務對象含分頁號PageNo屬性,可用於界面BindingSource.Filter的過濾顯示
3,重寫說明書:
《Phenix.NET企業應用軟件快速開發平臺.使用指南.16.分頁檢索業務對象》
4,配置庫表PH_AssemblyClass添加AC_Authorised字段,默認下只有AC_Type = Phenix.Core.Dictionary.AssemblyClassType.Form時才AC_Authorised = 1,也就是窗體上的控件、組件可被授權控制,
其他如業務類等對象,普通應用場景下不會要求權限控制到屬性級別,所以AC_Authorised = 0,當然,如果改成了1,框架就允許授權控制到它
4,重新梳理業務類的GetLink和GetDetail函數,解決了緩存不完善的情況發生


2013-11-7
1,可選擇僅允許一個用戶一個IP地址登錄系統
2,提醒密碼複雜度(長度大於6位且含數字和大小寫字母或特殊字符)
3,提醒密碼過期天數


2013-11-16
1,針對調用編輯函數時拋出的Csla.Core.UndoException,提供更爲詳細的提示信息,比如可指出業務對象與Parent之間EditLevel的不一致、業務對象中含有未打上[Csla.NotUndoable]標籤的業務對象字段等現象;
2,Link對象可跟隨業務對象一起編輯、提交,本功能可用業務對象的下列屬性開關:
    /// <summary>
    /// 可自動保存關聯的業務對象
    /// 缺省爲 true
    /// </summary>
    [System.ComponentModel.Browsable(false)]
    [System.ComponentModel.DataAnnotations.Display(AutoGenerateField = false)]
    public virtual bool AutoSaveLinks
    {
      get { return true; }
    }
3,Phenix.Addin在構建業務對象代碼時, 提供了自動生成工廠方法New()函數代碼的功能,可提供新建業務對象強類型傳參填充所有字段的功能,方便設計大批量數據導入功能的業務場景;當然,如果傾向於通用性且能忍受反射機制帶來的性能損耗,也可調用BusinessListBase<T, TBusiness>提供的工廠方法New()函數:
    /// <summary>
    /// 新增業務對象集合
    /// </summary>
    /// <param name="source">數據源</param>
    /// <param name="propertyInfos">數據屬性信息隊列, 順序與數據源columnIndex一致, 當爲null、空隊列時按source列名與業務類屬性名匹配條件進行數據填充</param>
    public static T New(DataTable source, IList<Phenix.Core.Mapping.IPropertyInfo> propertyInfos)


2013-11-29
Phenix.Core.Mapping.CriteriaFieldAttribute新增屬性:
    /// <summary>
    /// 條件操作忽略大小寫
    /// 僅針對字符串類型的字段
    /// 缺省爲 false
    /// </summary>
    public bool OperateIgnoreCase { get; set; }


2013-12-6
1,添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.使用案例.Web服務開發注意事項》
2,Phenix.Core.Mapping.ClassAttribute新增屬性:
    /// <summary>
    /// 是否從服務器獲取序號
    /// 在New業務對象時爲PrimaryKey字段賦服務器上的唯一值, 這在本地處於多進程環境裏是更加穩妥的
    /// 缺省爲 false, 也就是從本地(一個進程有一個)序號生成器獲取,性能高
    /// </summary>
    public bool SequenceFromServer { get; set; }


2014-1-17
增加:
    /// <summary>
    /// 清除關聯業務對象Cache
    /// </summary>
    protected void ClearLinkCache(Type type)

    /// <summary>
    /// 清除從業務對象Cache
    /// </summary>
    protected void ClearDetailCache(Type type)


2014-2-26
1,增加:Phenix.Business.Tunnel.FastSaveCommand,提供快速批量提交數據功能,具體見:
《Phenix.NET企業應用軟件快速開發平臺.使用案例.業務數據的讀寫-快速保存》
2,改進:將業務類的GetDetail()拆分爲GetCompositionDetail()、GetAggregationDetail(),以區分“組合關係”、“聚合關係”,
對於GetAggregationDetail(),當業務對象被刪除時,其Detail業務對象僅清空外鍵字段,不做級聯刪除;而GetCompositionDetail(),就是原來的GetDetail(),可做級聯刪除
3,支持:32/64位Win7操作系統、Visual Studio 2010/2012/2013上,Addin工具的註冊
4,添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.權限管理.12.重置口令.工作流》
5,BusinessListBase<T, TBusiness>新增功能:與GetRecordCount()函數用法相同,可根據指定條件刪除記錄:
   
    /// <summary>
    /// 刪除記錄
    /// </summary>
    /// <param name="criteriaExpression">條件表達式</param>
    public static int DeleteRecord(CriteriaExpression criteriaExpression)

比如:刪除用戶工號等於"3333"的用戶記錄:UserList.DeleteRecord(User.UserNumberProperty == "3333");


204-3-1
1,添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.使用指南.21.異構服務集羣》
2,解除Phenix.Windows.Client.csproj安全性異常
3,糾正Phenix.Services.Host.x86/x64.exe初始化時無法搭建配置庫的問題


2014-3-27
1,添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.權限管理.13.打印用戶清單.自定義報表》
2,支持DevExpressComponents-13.2.X版本;
3,允許映射視圖的類含多個表的主鍵時可自動提交主表數據,見測試工程:
    Phenix.Test.使用指南.12.8.1.1
    Phenix.Test.使用指南.12.8.1.2


2014-5-22
1,補充:BusinessBase類NewPure函數,可新增未初始化字段值的業務對象
2,新增測試工程:
    Phenix.Test.使用指南.11.2.1
    Phenix.Test.使用指南.11.2.2
    Phenix.Test.使用指南.11.2.3
    Phenix.Test.使用指南.11.2.4
    Phenix.Test.使用指南.11.2.5
    Phenix.Test.使用指南.11.3.2.1.4
    Phenix.Test.使用指南.11.3.2.2
    Phenix.Test.使用指南.11.5.1.1
    Phenix.Test.使用指南.11.5.2.2
    Phenix.Test.使用指南.12.6.2.1
    Phenix.Test.使用指南.12.6.2.2
    Phenix.Test.使用指南.12.6.2.8
    Phenix.Test.使用指南.12.6.2.12
    Phenix.Test.使用指南.15.6
    Phenix.Test.使用指南.16.3
    Phenix.Test.使用指南.17.3
3,重構Phenix.Windows.CriteriaCombineControl動態查詢條件功能,重構Phenix.Security.Windows.UserManage以演示動態查詢條件功能
4,Phenix.Core.AppSettings新增可自定義config文件路徑配置屬性:ConfigFilename,見測試工程:
    Phenix.Test.使用指南.3.13.1
5,BusinessBase、BusinessListBase類新增以下方法:

    /// <summary>
    /// 檢索出從業務對象隊列
    /// </summary>
    public IList<TDetailBusiness> FindDetailBusinesses<TDetailBusiness>()
      where TDetailBusiness : BusinessBase<TDetailBusiness>
     
6,修正web應用中Phenix.Business.Security.UserPrincipal.User的緩存問題
7,修正IDE環境下調試web應用時Phenix.Core.AppConfig.AppType不等於AppType.Webform的現象


2014-6-24
1,新增測試工程:
    Phenix.Test.使用指南.12.6.2.5.1
    Phenix.Test.使用指南.12.8.4
2,修正了Phenix.Business、Phenix.Addin、Phenix.Workflow的一些bug
3,廢除Phenix.Workflow的Phenix.Business.Workflow.ResumeCommand,將
    Phenix.Business.Workflow.ResumeCommand.Execute(workflowTaskInfo);
  改成
    workflowTaskInfo.ProceedWorkflow();
4,修正bug:對SqlServer日期數據的支持
5,業務對象Fetch提速


2014-7-31
1,Phenix.Windows的BarManager組件新增屬性:

    /// <summary>
    /// OnFetched時是否自動進入編輯狀態
    /// </summary>
    [DefaultValue(false), Description("OnFetched時是否自動進入編輯狀態?\n點擊Fetch功能按鈕檢索到數據後自動點擊Edit功能按鈕"), Category("Phenix")]
    public bool AutoEditOnFetched { get; set; }

    /// <summary>
    /// OnSaved時是否自動進入編輯狀態
    /// </summary>
    [DefaultValue(false), Description("OnSaved時是否自動進入編輯狀態?\n點擊Save功能按鈕保存好數據後自動點擊Edit功能按鈕"), Category("Phenix")]
    public bool AutoEditOnSaved { get; set; }

    /// <summary>
    /// 雙擊編輯控件時是否自動進入編輯狀態
    /// </summary>
    [DefaultValue(false), Description("雙擊編輯控件時是否自動進入編輯狀態?\n雙擊編輯控件後自動點擊Edit功能按鈕"), Category("Phenix")]
    public bool AutoEditOnEditControlByDoubleClick { get; set; }
   
    /// <summary>
    /// 需要過程鎖獨佔窗體, 一旦發現被他人佔用將提示 ProcessLockException 信息
    /// </summary>
    [DefaultValue(false), Description("需要過程鎖獨佔窗體, 一旦發現被他人佔用將提示 ProcessLockException 信息"), Category("Phenix")]
    public bool NeedLockProcess
   
2,整理動態刷新程序集,拆分出Phenix.Renovate.Client.Core.dll,便於業務層使用
3,BusinessListBase類新增一次下載全部從業務對象的系列函數FetchDetail(),可與BusinessBase類中帶(TDetail source)參數的GetDetail()函數組合使用,將它們過濾進各主業務對象的Detail緩存中,具體使用方法見測試工程:
    Phenix.Test.使用指南.11.3.2.2
4,Addin工具"初始化/編輯業務類"功能,新增ClassDetailAttribute的所見即所得設置界面
5,如顯式聲明ClassDetailAttribute的CascadingDelete=false,在級聯刪除時自動將子表的外鍵字段賦值爲null
6,撤銷FieldLinkAttribute的CascadingSave、CascadingDelete屬性及其功能
7,新增測試工程:
    Phenix.Test.使用指南.12.6.2.7
    Phenix.Test.使用指南.12.7.4
    Phenix.Test.使用指南.17.1.8.2
    Phenix.Test.使用指南.20
8,優化Phenix.Windows的BarManager組件性能,添加對DevExpress.XtraVerticalGrid.VGridControl控件的支持
9,添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.設計規範.數據庫設計規範》
《Phenix.NET企業應用軟件快速開發平臺.設計規範.分析模型技術方案》


2014-8-8
1,Phenix.Windows的BarManager組件新增屬性:

    /// <summary>
    /// OnFetched時是否自動進入編輯狀態
    /// </summary>
    [DefaultValue(false), Description("OnFetched時是否自動進入編輯狀態?\n點擊Fetch功能按鈕檢索到數據後自動點擊Edit功能按鈕"), Category("Phenix")]
    public bool AutoEditOnFetched { get; set; }

    /// <summary>
    /// OnSaved時是否自動進入編輯狀態
    /// </summary>
    [DefaultValue(false), Description("OnSaved時是否自動進入編輯狀態?\n點擊Save功能按鈕保存好數據後自動點擊Edit功能按鈕"), Category("Phenix")]
    public bool AutoEditOnSaved { get; set; }

    /// <summary>
    /// 雙擊編輯控件時是否自動進入編輯狀態
    /// </summary>
    [DefaultValue(false), Description("雙擊編輯控件時是否自動進入編輯狀態?\n雙擊編輯控件後自動點擊Edit功能按鈕"), Category("Phenix")]
    public bool AutoEditOnEditControlByDoubleClick { get; set; }
   
    /// <summary>
    /// 需要過程鎖獨佔窗體, 一旦發現被他人佔用將提示 ProcessLockException 信息
    /// </summary>
    [DefaultValue(false), Description("需要過程鎖獨佔窗體, 一旦發現被他人佔用將提示 ProcessLockException 信息"), Category("Phenix")]
    public bool NeedLockProcess
   
2,整理動態刷新程序集,拆分出Phenix.Renovate.Client.Core.dll,便於業務層使用
3,BusinessListBase類新增一次下載全部從業務對象的系列函數FetchDetail(),可與BusinessBase類中帶(TDetail source)參數的GetDetail()函數組合使用,將它們過濾進各主業務對象的Detail緩存中,具體使用方法見測試工程:
    Phenix.Test.使用指南.11.3.2.2
4,Addin工具"初始化/編輯業務類"功能,新增ClassDetailAttribute的所見即所得設置界面
5,如顯式聲明ClassDetailAttribute的CascadingDelete=false,在級聯刪除時自動將子表的外鍵字段賦值爲null
6,撤銷FieldLinkAttribute的CascadingSave、CascadingDelete屬性及其功能
7,新增測試工程:
    Phenix.Test.使用指南.12.6.2.7
    Phenix.Test.使用指南.12.7.4
    Phenix.Test.使用指南.17.1.8.2
    Phenix.Test.使用指南.20
8,優化Phenix.Windows的BarManager組件性能,添加對DevExpress.XtraVerticalGrid.VGridControl控件的支持
9,添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.設計規範.數據庫設計規範》
《Phenix.NET企業應用軟件快速開發平臺.設計規範.分析模型技術方案》
10,Phenix.Windows的UnifyControlLayout組件新增屬性:

    /// <summary>
    /// 統一 GridView 焦點行顏色
    /// 當爲 Color.Empty 時禁用本功能
    /// </summary>
    public static Color GridViewFocusedRowColor { get; set; }


2014-9-19
1,Addin工具"初始化/編輯業務類"功能,糾正樹狀表結構無法自動生成代碼的錯誤
2,Phenix.Windows的BarManager組件,不僅在點擊編輯、新增等按鈕時可以自動將焦點定位到BindingSource屬性指定的控件上,當界面初始化、點擊檢索按鈕時也可以
3,修補在兩層架構(客戶端直連數據庫)下數據訪問安全漏洞;修補後,在IDE裏調試程序可以不用每次都輸入數據庫連接串,而直接運行時每次都會要求重新輸入數據庫連接串
4,優化緩存性能
5,Phenix.Windows的BarManager組件新增屬性:

    /// <summary>
    /// 需要單步提交時鎖死遊標
    /// </summary>
    [DefaultValue(false), Description("單步提交時鎖死遊標\n當 AllowMultistepSubmit = false 或者 AllowMultistepSubmitMaster = false 狀態下設置爲 true 時, 不允許移動當前編輯的遊標"), Category("Phenix")]
    public bool NeedLockPositionInOnestepSubmit { get; set; }

6,添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.使用案例.如何將枚舉屬性綁定到LookUpEdit》


2014-10-30
1,Phenix.Windows添加UnifyControlEnvironmental組件,可通過以下靜態配置屬性統一界面上的:
   
    /// <summary>
    /// 統一控件 Font
    /// 當爲 SystemFonts.DefaultFont 時禁用本功能
    /// </summary>
    public static Font Font

    /// <summary>
    /// 統一控件 BackColor
    /// 當爲 Color.Empty 時禁用本功能
    /// </summary>
    public static Color BackColor

    /// <summary>
    /// 統一控件 ForeColor
    /// 當爲 Color.Empty 時禁用本功能
    /// </summary>
    public static Color ForeColor

    /// <summary>
    /// 統一控件 RightToLeft
    /// 當爲 RightToLeft.Inherit 時禁用本功能
    /// </summary>
    public static RightToLeft RightToLeft

2,Phenix.Services.Host增加ServiceUpgraded功能按鈕:點擊確認後,之前連接的終端會在請求服務時被提示“服務已升級,您操作的版本已不匹配,請退出系統重新登錄!”使用本功能,建議在應用於系統升級時的步驟:客戶端和服務端都開啓狀況 -> 關閉服務Host -> Host下目錄及子目錄更新新的dll -> 啓動服務Host -> 點擊ServiceUpgraded功能按鈕並確認 -> 之前登錄的客戶端在操作數據時會彈出提示
3,Phenix.Core.Cache.ObjectCache,在現有Extremely屬性開關可控制是否在本地磁盤上做緩存外,還增加以下屬性作爲它的閥值:

    /// <summary>
    /// 極端方式最小閾值: 緩存流長度
    /// 缺省爲 1024 * 1024 / 2
    /// </summary>
    public static int ExtremelyThresholdMin

    /// <summary>
    /// 極端方式最大閾值: 緩存流長度
    /// 缺省爲 1024 * 1024 * 4
    /// </summary>
    public static int ExtremelyThresholdMax

4,增加:Phenix.Business.Tunnel.FastFetchCommand,提供快速批量Fetch數據功能,具體見:
《Phenix.NET企業應用軟件快速開發平臺.使用案例.業務數據的讀寫-快速Fetch》
5,新增測試工程:
    Phenix.Test.使用案例.業務數據的讀寫-快速Save
    Phenix.Test.使用案例.業務數據的讀寫-快速Fetch
6,BusinessListBase類Filter()系列函數,新增按條件表達式過濾出業務對象集合的功能,使用案例見新增測試工程:
    Phenix.Test.使用指南.11.3.2.6
7,BusinessListBase類新增OrderBy()系列函數的排序功能,使用案例見新增測試工程:
    Phenix.Test.使用指南.11.3.2.7
8,Phenix.Services.Client.Security.LogOn組件增加UpgradeFileSubdirectoryName屬性(缺省是"ClientLibrary"子目錄),使得服務端可爲不同的客戶端提供指定子目錄下的文件下載升級


2014-11-14
1,Addin工具“初始化/編輯業務類”功能,可自動生成三個文件:虛擬類、可編輯類、不可編輯類,不可編輯類是通過在其Class上加Phenix.Core.Mapping.ReadOnlyAttribute標籤來定義的
2,Addin工具添加“刷新視圖”功能
3,解決在WEB架構下Phenix.Business.Security.User的Identity屬性內容亂碼的問題
4,解決高併發下對象緩存日誌更新時偶爾會死鎖的問題
5,解決在'提交時填充值'模式下的業務碼未能填充的問題,並重寫測試工程:
    Phenix.Test.使用指南.15.6


2014-12-18
1,Phenix.Business.Security.UserPrincipal.User.Identity.NeedCheckServerVersion屬性可設置爲false,以禁用Phenix.Services.Host的ServiceUpgraded功能
2,配置表PH_AssemblyClassMethod上增加了字段,可用於自己開發的權限模塊裏,針對窗體的菜單進行配置:
  AM_AllowVisible NUMERIC(1) NULL, --是否允許顯示即使沒權限(null: 默認、0:允許顯示、1:不允許顯示),針對AC_Type = Form上的功能按鈕
  AM_AM_ID NUMERIC(15) NULL,       --所屬程序集類方法(針對AC_Type = Form上的樹狀菜單,爲便於查看可在自己的權限配置界面上手工調整到與實際菜單結構一致)
3,ADDIN工具的“初始化/編輯業務類”設計界面中:
  添加“Build Easy Entity”功能按鈕,可生成輕量級的Entity對象,繼承自Phenix.Core.Mapping.EntityBase<T>
  添加“Instance Variable List”頁,不僅可瀏覽、定位到所有實例字段,還能爲它打上或撤銷Csla.NotUndoableAttribute標籤
4,Phenix.Core.Mapping.EntityBase<T>提供簡單的回滾機制:

    /// <summary>
    /// 啓動編輯
    /// 開始記錄編輯過程
    /// </summary>
    void BeginEdit();

    /// <summary>
    /// 取消編輯
    /// 將當前狀態恢復回原始狀態
    /// </summary>
    void CancelEdit();

    /// <summary>
    /// 提交編輯
    /// 將原始狀態更新爲當前狀態
    /// </summary>
    void ApplyEdit();

6, 新增測試工程:
    Phenix.Test.使用指南.03.3
    Phenix.Test.使用指南.03.5
7,將Phenix.Core.Net.RemotingConfig.CompressionSupported配置屬性的默認值調整爲false,因爲在分析實際應用中Remoting的報文交互,發現壓縮過程會出現timeout報文,由此廢棄的連接時而會有所堆積增加,使得可供連接的餘量會有所下降,影響到併發響應帶寬(如果應用系統是千位級別下的併發連接可忽略此影響),爲此建議在帶寬充足、特別是要求千位級別以上的連接響應請求的場景下關閉本功能


2015-1-15
1,修正bug:BusinessCode流水號未能歸零的缺陷
2,Phenix.Services.Host系統SystemInfo配置界面Security頁上添加NoLogin選項,允許禁用用戶登錄驗證服務(返回的User.Identity.IsAuthenticated=false),但其他服務仍然可被調用
3,爲Phenix.Core.Mapping.EntityBase<T>添加配套的EntityListBase<T, TEntity>,並能通過ADDIN工具自動生成
4,在Phenix.Services.Client.Library.Registration註冊器上添加連接服務的測試速度函數:

    /// <summary>
    /// 測試連接速度
    /// </summary>
    /// <param name="servicesAddress">主機IP地址</param>
    /// <returns>歷時毫米數</returns>
    public static double TestServicesSpeed(string servicesAddress)


2015-2-1
1,爲了編程風格的統一,在Phenix.Business裏繼承了EntityBase<T>、EntityListBase<T, TEntity>,可直接在這些類裏調用靜態的Fetch()函數,且可通過ADDIN工具生成代碼


2015-3-24
1,優化配置數據(比如程序集信息)的緩存機制
2,優化透明的持久化機制
3,打上Flags標記的枚舉值,可在數據庫查詢中拼裝出按位與(AND)的條件表達式,
    對於類似“executeModify & ExecuteModify.NonnullToNull) == ExecuteModify.NonnullToNull”的條件操作符爲CriteriaOperate.Like
    對於類似“executeModify & ExecuteModify.NonnullToNull) <> ExecuteModify.NonnullToNull”的條件操作符爲CriteriaOperate.Unlike


2015-4-23
1,優化內存提升性能
2,優化權限驗證功能
3,優化界面驗證功能
4,排除在服務端代碼裏修改業務對象屬性值未能回傳給客戶端的缺陷(可用“Phenix.Test.使用指南.12.6.2.2”測試)


2015-6-17
1,爲EntityBase<T>、EntityListBase<T, TEntity>,添加IsNew、IsDeleted、IsSelfDirty等狀態屬性及Save()函數,可按Entity的狀態提交數據庫增刪改表記錄,並重寫測試工程:
    Phenix.Test.使用指南.03.5
2,優化BarManager組件處理業務對象屬性值驗證的提示功能
3,添加Phenix.Business.EntityPageBase<T>、Phenix.Business.EntityListPageBase<T, TEntity>以支持分頁
4,添加Phenix.Core.Data.ServiceBase<T>、Phenix.Business.ServiceBase<T>以支持批量的業務邏輯處理的服務
5,將冗餘字段的隱式(默認)自動處理方法改成需顯式申明才能生效,具體見《使用指南》的12.9.2章節,以及《權限管理》的7.3.3章節
6,Phenix.Web.Mvc增加"檢查安全"標籤CheckSecurityAttribute,可自動驗證Controller調用方的權限,並自動註冊後臺服務的代理
7,Phenix.Services.Host系統SystemInfo配置界面Security頁上添加PasswordExpirationRemindDays(密碼變更天數提醒)、PasswordExpirationDays(密碼失效過期天數)輸入項,可對登錄用戶的密碼變更情況進行控制


2015-7-29
1,增強跨域用戶驗證安全性
2,解決客戶端登錄升級大文件時被殺毒軟件掃描鎖住造成無法繼續下載升級的問題
3,輕量級的Entity對象,推薦使用Phenix.Core.dll的Phenix.Core.Data命名空間下的EntityBase<T>、EntityListBase<T, TEntity>、EntityPageBase<T>、EntityListPageBase<T, TEntity>、ServiceBase<T>
4,強化對OleDb的封裝,除了繼承CSLA的類仍保留OracleConnection/SqlConnection外,只要涉及到持久化的代碼都使用OleDbConnection,建議利用Phenix.Core.Data.DbCommandHelper操作數據庫,需注意OleDb是要求按次序CreateParameter的
5,Phenix.Core.Windows.BaseForm和Phenix.Windows.BaseForm,新增PgUpMoveBackControl屬性,默認“當輸入上頁鍵時選擇上一個可用控件並使其成爲活動控件”
6,Phenix.AddIn工具的業務類編輯界面,添加Reset All Property - Switch GetSet Method菜單,可改GetProperty()、SetProperty()代碼爲直接操作字段,也可以切換回來
7,部門資料Phenix.Core.Security.DepartmentInfo類增加InHeadquarters屬性,可用來判斷當前用戶是否屬於總部,比如:

        Phenix.Core.Security.DepartmentInfo department = Phenix.Business.Security.UserPrincipal.User.Identity.Department;
        bool inHeadquarters = department != null && department.InHeadquarters.HasValue && department.InHeadquarters.Value;

   爲此,Phenix.Security.Windows.DepartmentManage工程亦添加對這個屬性的設置功能,具體開發方法參考:
《Phenix.NET企業應用軟件快速開發平臺.權限管理.05.部門管理工程.添加屬性》
8,對於含禁用字段(FieldAttribute.IsDisabledColumn)的業務對象,作廢“新增對象時, 如唯一鍵衝突則作廢新對象並將原對象上禁用字段置爲Phenix.Core.Mapping.CodingStandards.DefaultDisabledFalseValue”功能。現改爲直接拋出異常,在這個異常的InnerException屬性裏包含了CheckRepeatedException異常對象(抽取方法可使用Phenix.Core.AppUtilities.FindException<CheckRepeatedException>(異常)函數),可依此自行判斷處理(建議業務系統要麼提供恢復禁用的功能,要麼提示用戶修改這個業務對象的唯一鍵內容)

  
2015-8-17
1,提供Phenix.VSPackage.vsix以支持Microsoft Visual Studio 2015
2,修正映射到數字型表字段的decimal業務類屬性在被賦值時,框架自動處理其精度範圍規則時產生的一個bug缺陷
3,Phenix.Core.Data.EntityListBase<T, TEntity>新增UpdateRecord()、DeleteRecord()系列靜態函數,可按條件批量更新、批量刪除
4,在Phenix.Extensions解決方案裏添加Phenix.Security.Plugin.Authoriser工程,可支持擴展的權限驗證功能,具體開發方法參考:
《Phenix.NET企業應用軟件快速開發平臺.權限管理.13.擴展爲AD用戶權限驗證.服務插件》


2015-9-30
1,提供基於ASP.NET Web API的服務(“\Bin.NET4.6”目錄,需運行在.NET Framework 4.6環境),具體見:
《Phenix.NET企業應用軟件快速開發平臺.使用指南.21.WebAPI服務》
2,提供基於HttpClient的客戶端程序集Phenix.Web.Client.DLL及其工程源碼,示例見測試工程:
    Phenix.Test.使用指南.21.3
    Phenix.Test.使用指南.21.5
3,新增Web瀏覽器AJAX應用的開發示例:
    Phenix.Test.使用指南.21.3.html
4,優化:BarManager組件Fetch功能,添加ParallelFetch屬性,默認爲在阻塞主線程下並行Fetch多個數據集的方法, 本功能僅適用於主數據集且其IsAsynchronousFetch=false
5,優化:BusinessBase類IsDirty、IsSelfDirty、IsDeleted、IsSelfDeleted屬性相關功能的優化,可提升Save性能
6,優化:BusinessBase類Selected屬性不參與CSLA的Undoable功能
7,優化:BusinessBase、BusinessListBase類新增NotUndoable屬性,默認(false)爲參與多級撤銷,如果覆寫它並返回true的話則不參與並阻斷Detail對象的多級撤銷,BarManager組件的檢索功能按鈕被點擊後將直接進入到可編輯狀態,編輯功能按鈕已無必要(將不可操作),而取消功能按鈕、提交功能按鈕都始終保持着可操作狀態,具體參考:
《Phenix.NET企業應用軟件快速開發平臺.使用指南.11.業務對象生命週期及其狀態》第11.5.3章節
8,棄用:Phenix.Business.CheckSavableException,改由Csla.Rules.ValidationException替代
9,棄用:BusinessBase、BusinessListBase類的IgnoreSaveError、SaveErrors屬性及其功能,改由AloneTransaction屬性替代,爲此改寫了《Phenix.NET企業應用軟件快速開發平臺.使用指南.12.業務結構對象模型》第12.6.2.10章節
   

2015-10-31
1,修復最近優化中產生的bug
2,優化:豐富BusinessBase、BusinessListBase類的CheckRules()、CheckSelfRules()、CheckObjectRules()、CheckSelfObjectRules()系列方法
3,優化:BusinessBase、BusinessListBase類Save()時,在客戶端會自動檢查全部的Rules,傳到服務端的業務對象在持久化之前僅自動檢查ObjectRules
4,優化:Phenix.Business.CriteriaBase添加數據源鍵DataSourceKey屬性,可指定Fetch哪個數據源,具體見:
《Phenix.NET企業應用軟件快速開發平臺.使用指南.22.數據庫集羣》
5,優化:BarManager組件添加“恢復”按鈕,可恢復當前禁用對象
6,優化:BarManager組件提交對象時,如發現因唯一鍵原因提交失敗,則會判斷是否是與被禁用對象衝突,並提示用戶可恢復被禁用對象並加入到當前集合中供繼續編輯
7,實現WebAPI數據服務的Fetch()、Save()、Execute()功能,具體見:
《Phenix.NET企業應用軟件快速開發平臺.使用指南.21.WebAPI服務》


2015-12-26
1,Phenix.Services.Host系統SystemInfo配置界面System頁上,添加定時清理日誌的配置項,可自動清理幾個月之前的日誌
2,提供全新的Phenix.Core.Clip.dll、Phenix.Web.Client,可支持Xamarin的開發
3,Phenix.AddIn工具,添加以業務類、查詢類爲模板自動生成Phenix.Core.Clip的實體類、查詢類的功能
4,重寫開發示例:
    Phenix.Test.使用指南.21.3
    Phenix.Test.使用指南.21.5
5,修復多Host環境下配置權限後未能自動刷新的bug
6,添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.使用案例.如何利用監控手段輔助調試》
《Phenix.NET企業應用軟件快速開發平臺.使用案例.如何繞過默認的持久層操作》


2016-1-20
1,添加直接獲取業務碼功能,提升批量處理性能,具體見《Phenix.NET企業應用軟件快速開發平臺使用指南.15.業務碼》15.6.5章節,並重寫開發示例:
    Phenix.Test.使用指南.15.6
2,Phenix.Core.Data.ServiceBase<T>添加異步服務功能,具體見《Phenix.NET企業應用軟件快速開發平臺.使用指南.23.異步服務》及測試工程:
    Phenix.Test.使用指南.23.2
3,當Phenix.Core.Net.NetConfig.ServicesFixed=true時,登錄界面(Phenix.Services.Client.Security.LogOnDialog)的服務IP輸入框會被隱藏掉,此時需在代碼裏向Phenix.Core.Net.NetConfig.ServicesAddress賦值上正確的服務IP或配置在config文件裏
4,當Phenix.Core.Net.NetConfig.ServicesFixed=false時,登錄界面(Phenix.Services.Client.Security.LogOnDialog)的服務IP輸入框會根據以往登錄歷史,被自動填充上一個曾經最快登錄過的服務IP(爲默認服務IP)
5,組件Phenix.Services.Client.Security.LogOn增加UpgradeServicesAddress屬性,可指定升級(客戶端的)服務器地址


2016-3-3
1,WebAPI數據服務的Fetch(),允許匿名獲取數據,只要在服務端的業務類、實體類上將ClassAttribute的屬性值 OnAnonymity = true


2016-4-15
1,修復業務屬性的缺省值定義未能起作用的缺陷等
2,新增Phenix.Algorithm程序集,提供ZeroOneDynamicProgramming類"0-1揹包問題"算法,使用方法示例見工程:
    Phenix.Test.揹包問題
3,添加說明書:
《Phenix.NET企業應用軟件快速開發平臺.研發規範.系統部署升級要點》
4,Phenix.Addin的註冊方法,改成運行Bin.Top目錄下的Host程序,要求開發環境的操作系統部署.NET4.5或以上版本


2016-5-30
1,爲Phenix.Security.Windows.FormClassManage工程添加文檔:
《Phenix.NET企業應用軟件快速開發平臺.權限管理.14.窗體管理.刷新權限配置信息》
2,提供phenix.js用於AJAX+WebAPI的應用開發
3,新增Web瀏覽器AJAX應用的開發示例:
    Phenix.Test.使用指南.21.5.html
4,CSLA、Phenix.Core和Phenix.Business等程序集都引用到Newtonsoft.Json.dll,支持業務類、實體類的JSON序列化(MemberSerialization.OptOut模式)
5,Addin工具自動生成支持JSON序列化(MemberSerialization.OptOut模式)的業務類、實體類的構造函數
6,優化WebAPI服務,改寫《Phenix.NET企業應用軟件快速開發平臺.使用指南.21.WebAPI服務》
7,業務集合對象、實體集合對象按照查詢時帶入的OrderByInfo及字段上的FieldOrderByAttribute標籤維持排序狀態,具體見《Phenix.NET企業應用軟件快速開發平臺.使用指南.12.業務結構對象模型》第12.6.1.3段落及測試工程:
    Phenix.Test.使用指南.12.6.1.3


2016-6-30
1,爲《Phenix.NET企業應用軟件快速開發平臺.使用指南.04.登錄應用系統》添加"4.1.5 指定升級服務的地址"章節,示例工程:
    Phenix.Test.使用指南.04.1.5
2,修訂Phenix.Windows的BarManager組件,阻止快速點擊功能按鈕
3,優化Phenix.Algorithm程序集的ZeroOneDynamicProgramming類,可支持需撐滿揹包且在一個超載範圍內的問題,使用方法示例見工程:
    Phenix.Test.揹包問題


2016-7-14
1,優化Phenix.Algorithm程序集的ZeroOneDynamicProgramming類,增加IGoodsGroup類以支持物品的分組問題,使用方法示例見工程:
    Phenix.Test.揹包問題


2016-8-17
1,修正兩層架構下數據安全問題
2,修正本地緩存數據刷新問題



 

 轉載請註明出處,謝謝。







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章