日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

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

發布時間:2024/5/15 asp.net 87 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Phenix.NET for WebAPI WF CSLA,企业级、分布式、符合领域建模的OOP软件快速开发平台 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Phenix Framework and Teamwork Tools 20190624 下載地址 :

https://download.csdn.net/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>
? ? public event EventHandler<BarItemDeleteEventArgs> DeleteRejected;

? ? /// <summary>
? ? /// 取消按鈕觸發提示被否決后事件
? ? /// </summary>
? ? public event EventHandler<BarItemClickEventArgs> CancelRejected;


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


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 Framework Tools.使用指南.16.分頁檢索業務對象》
4,配置庫表PH_AssemblyClass添加AC_Authorised字段,默認下只有AC_Type = Phenix.Core.Dictionary.AssemblyClassType.Form時才AC_Authorised = 1,也就是窗體上的控件、組件可被授權控制,
其他如業務類等對象,普通應用場景下不會要求權限控制到屬性級別,所以AC_Authorised = 0,當然,如果改成了1,框架就允許授權控制到它
5,重新梳理業務類的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>
? ? public virtual bool AutoSaveLinks
? ? {
? ? ? get { return true; }
? ? }

3,Addin工具在構建業務對象代碼時, 提供了自動生成工廠方法New()函數代碼的功能,可提供新建業務對象強類型傳參填充所有字段的功能,方便設計大批量數據導入功能的業務場景;當然,如果傾向于通用性且能忍受反射機制帶來的性能損耗,也可調用BusinessListBase提供的工廠方法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.CriteriaOperate中大小寫相關枚舉,新增Phenix.Core.Mapping.CriteriaFieldAttribute大小寫相關屬性:

? ? /// <summary>
? ? /// 條件操作忽略大小寫
? ? /// 僅針對字符串類型的字段
? ? /// 缺省為 false
? ? /// </summary>
? ? public bool OperateIgnoreCase { get; set; }

Phenix.Core.Mapping.CriteriaExpression的構建函數新增大小寫控制的ignoreCase參數

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

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


2014-3-27
1,添加說明書:
《Phenix Framework Tools.使用指南.21.異構服務集群》
《Phenix Framework Tools.權限管理.13.打印用戶清單.自定義報表》
2,解除Phenix.Windows.Client.csproj安全性異常
3,糾正Phenix.Services.Host.x86/x64.exe初始化時無法搭建配置庫的問題
4,支持DevExpressComponents-13.2.X版本;
5,允許映射視圖的類含多個表的主鍵時可自動提交主表數據,見測試工程:
? ? 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-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 Framework Tools.設計規范.數據庫設計規范》
《Phenix Framework Tools.設計規范.分析模型技術方案》
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 Framework Tools.使用案例.如何將枚舉屬性綁定到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,Host服務程序增加MarkUpgraded功能按鈕:點擊確認后,之前連接的終端會在請求服務時被提示“服務已升級,您操作的版本已不匹配,請退出系統重新登錄!”使用本功能,建議在應用于系統升級時的步驟:客戶端和服務端都開啟狀況 -> 關閉服務Host -> Host下目錄及子目錄更新新的dll -> 啟動服務Host -> 點擊MarkUpgraded功能按鈕并確認 -> 之前登錄的客戶端在操作數據時會彈出提示
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 Framework Tools.使用案例.業務數據的讀寫-快速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,配置表PH_AssemblyClassMethod上增加了字段,可用于自己開發的權限模塊里,針對窗體的菜單進行配置:
? AM_AllowVisible NUMERIC(1) NULL, --是否允許顯示即使沒權限(null: 默認、0:允許顯示、1:不允許顯示),針對AC_Type = Form上的功能按鈕
? AM_AM_ID NUMERIC(15) NULL, ? ? ? --所屬程序集類方法(針對AC_Type = Form上的樹狀菜單,為便于查看可在自己的權限配置界面上手工調整到與實際菜單結構一致)
2,ADDIN工具的“初始化/編輯業務類”設計界面中:
? 添加“Build Easy Entity”功能按鈕,可生成輕量級的Entity對象,繼承自Phenix.Core.Mapping.EntityBase<T>
? 添加“Instance Variable List”頁,不僅可瀏覽、定位到所有實例字段,還能為它打上或撤銷Csla.NotUndoableAttribute標簽
3,Phenix.Core.Mapping.EntityBase<T>提供簡單的回滾機制:

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

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

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

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


2015-1-15
1,修正bug:BusinessCode流水號未能歸零的缺陷
2,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
為了編程風格的統一,在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,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,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 Framework Tools.權限管理.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 Framework Tools.權限管理.13.擴展為AD用戶權限驗證.服務插件》


2015-9-30
1,提供基于ASP.NET WebAPI的服務(“\Bin.Top”目錄,需運行在.NET Framework 4.5以上環境),具體見:
《Phenix Framework Tools.使用指南.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 Framework Tools.使用指南.11.業務對象生命周期及其狀態》第11.5.3章節
8,棄用:Phenix.Business.CheckSavableException,改由Csla.Rules.ValidationException替代
9,棄用:BusinessBase、BusinessListBase類的IgnoreSaveError、SaveErrors屬性及其功能,改由AloneTransaction屬性替代,為此改寫了《Phenix Framework Tools.使用指南.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 Framework Tools.使用指南.22.數據庫集群》
5,優化:BarManager組件添加“恢復”按鈕,可恢復當前禁用對象
6,優化:BarManager組件提交對象時,如發現因唯一鍵原因提交失敗,則會判斷是否是與被禁用對象沖突,并提示用戶可恢復被禁用對象并加入到當前集合中供繼續編輯
7,實現WebAPI數據服務的Fetch()、Save()、Execute()功能,具體見:
《Phenix Framework Tools.使用指南.21.WebAPI服務》


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


2016-1-20
1,添加直接獲取業務碼功能,提升批量處理性能,具體見《Phenix Framework Tools.使用指南.15.業務碼》15.6.5章節,并重寫開發示例:
? ? Phenix.Test.使用指南.15.6
2,Phenix.Core.Data.ServiceBase<T>添加異步服務功能,具體見《Phenix Framework Tools.使用指南.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
WebAPI數據服務的Fetch(),允許匿名獲取數據,只要在服務端的業務類、實體類上將ClassAttribute的屬性值 OnAnonymity = true


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


2016-5-30
1,為Phenix.Security.Windows.FormClassManage工程添加文檔:
《Phenix Framework Tools.權限管理.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 Framework Tools.使用指南.21.WebAPI服務》
7,業務集合對象、實體集合對象按照查詢時帶入的OrderByInfo及字段上的FieldOrderByAttribute標簽維持排序狀態,具體見《Phenix Framework Tools.使用指南.12.業務結構對象模型》第12.6.1.3段落及測試工程:
? ? Phenix.Test.使用指南.12.6.1.3


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


2016-7-14
優化Phenix.Algorithm程序集的ZeroOneDynamicProgramming類,可利用IGoodsGroup接口以支持物品的分組問題,使用方法示例見工程:
? ? Phenix.Test.背包問題


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


2016-9-13
1,添加Addin工具新功能:可依照函數及其參數內容自動生成Command類的框架代碼,并在該函數代碼段內添加執行Command對象的示例語句
2,在Phenix.Extensions解決方案里添加Phenix.StandardService工程,借客戶端和服務端同步數據庫時鐘為例,介紹將業務邏輯代碼僅部署在服務端的方法
3,在Phenix.Extensions解決方案里添加Phenix.StandardPush工程,借客戶端和服務端同步數據庫時鐘為例,介紹通過Socket將數據庫時鐘推送到客戶端的方法


2016-10-20
1,補充BusinessBase類、CommandBase類的函數FetchExecuteAction(),可查詢到當前對象曾經被改寫過的歷史痕跡(需在對象的ClassAttribute標簽上設置PermanentExecuteAction = ExecuteAction.Update、希望留痕的字段FieldAttribute標簽上設置PermanentExecuteModify屬性(類型為ExecuteModify)來申明當本字段值屬于哪種新舊值變換狀況下才需要記錄下操作痕跡),具體見:
《Phenix Framework Tools.使用指南.13.日志服務》
2,Phenix.Windows的BarManager組件,修訂了Fetch后界面狀態應正確變換的問題,在狀態欄上增加了顯示和查看當前業務對象的歷史操作痕跡的功能
3,修正Fetch()傳linq表達式時含Contains函數的處理問題,測試代碼見:
? ? Phenix.Test.使用指南.17.3


2016-11-10
1,在Web應用(部署在IIS)下,Phenix.Core.AppConfig.TempDirectory屬性值返回系統臨時文件夾下的目錄名
2,Bin.Top目錄新增Phenix.Addin.Install.exe程序,可直接部署Phenix.Addin,請以超級管理員身份運行


2016-12-13
1,優化業務對象緩存機制的持久化性能
2,修正Phenix.Algorithm程序集的ZeroOneDynamicProgramming類處理分組問題的缺陷
3,數據庫連接池增加MinPoolSize、MaxPoolSize、ConnectionLifetime的config配置內容


2017-01-24
1,優化業務對象緩存機制的持久化過程,減輕對數據庫的壓力
2,配置緩存數據的存放目錄從TempDirectory改為CacheDirectory,有關web應用的項目需注意的問題,請參考《Phenix Framework Tools.使用案例.IISWeb服務開發注意事項》
3,業務類的FieldAttribute標簽新增IsFillSysdateColumn屬性,可設置為該字段內容應自動填充自系統時間


2017-03-31
1,改造Phenix.Addin.VSPackage.vsix和Phenix.Addin.Install.exe(請以超級管理員身份運行),以支持Microsoft Visual Studio 2017
2,發布第一版Phenix Teamwork Tools功能,具體見:
《Phenix Teamwork Tools.使用指南.01.簡介》
《Phenix Teamwork Tools.使用指南.02.缺陷管理》


2017-04-25
1,修正無物理外鍵場景下的從表級聯刪除問題
2,修正Addin工具菜單灰亮問題等缺陷
3,豐富部分說明書內容
4,為保證概念完整性,用new標記來關閉CSLA中有可能帶來誤導的virtual函數:
? ? 在BusinessBase類里關閉的函數:
? ? ? public new T Save()
? ? ? protected new void OnPropertyChanging(IPropertyInfo propertyInfo)
? ? ? protected new void OnPropertyChanged(IPropertyInfo propertyInfo)
? ? ? protected new void MarkOld()
? ? ? 請統一從以下函數override:
? ? ? public virtual T Save(bool needCheckDirty, IBusiness[] firstTransactionData, IBusiness[] lastTransactionData)
? ? ? protected virtual void OnPropertyChanging(string propertyName)
? ? ? protected virtual void OnPropertyChanged(string propertyName)
? ? ? protected virtual void MarkOld(bool resetOldFieldValues)
? ? 在BusinessListBase類里關閉的函數:
? ? ? public new T Save()
? ? ? 請統一從以下函數override:
? ? ? public virtual T Save(bool needCheckDirty, IBusiness[] firstTransactionData, IBusiness[] lastTransactionData)
5,新增測試工程:
? ? Phenix.Test.使用指南.11.5.1.3


2017-05-26
1,Host服務程序SystemInfo配置界面System頁上,添加客戶端下載目錄、服務端升級目錄的設置功能,為能僅從一處目錄來升級系統提供方便
2,修正Selected清單未能與業務對象一起CancelEdit的問題 ? ??
3,優化配置信息及數據字典的檢索性能
4,優化處理業務對象link關系時的性能
5,link關系中,如果外鍵字段不允許為空,則當Unlink時,外鍵字段將被賦值為其缺省值(建議在表結構定義中設置其缺省值為-1,以代表無外鍵關聯),業務對象屬性在SetProperty時會自動將null轉換為缺省值
6,補充《Phenix Framework Tools.設計規范.數據庫設計規范》有關枚舉與表結構的設計方法
7,查詢條件表達式(參考Phenix.Security.Windows.UserManage工程)的存儲格式改成JSON,CriteriaCombineControl中舊的自定義查詢條件作廢,需重新設置
8,查詢條件表達式持久化時亦存儲Caption內容,配置庫需升級(運行一次Host服務程序連接上數據庫即可)


2017-06-27
1,修正近期優化過程中埋下的缺陷
2,Phenix.Core.Data.DbCommandHelper的ExecuteNonQuery()、ExecuteReader()、ExecuteScalar()函數,Phenix.Core.Data.DataSetHelper的ExecuteReader()函數,都帶上了“params ParamValue[] parameters”參數,以便直接為DbCommand的執行傳入參數值
3,Phenix.Core.Data.EntityListBase<T, TEntity>的UpdateRecord()函數的傳參參數,改為“params PropertyValue[] propertyValues”
4,以上2、3的示例見:
《Phenix Framework Tools.設計規范.排版格式一致化編碼習慣一貫性》
5,升級Addin工具“構建業務類”的“Detail Table List”功能,以支持新版Phenix.Core.Mapping.ClassDetailAttribute的代碼生成,部署請運行Phenix.Addin.Install.exe程序
6,對于匿名的公共數據檢索服務,只要在服務端的Business或Entity類、Command或Service類上將ClassAttribute的屬性值 OnAnonymity = true,其Fetch()或Execute()功能就不再被權限控制約束;另外提醒一下,只要調用Business或Entity對象帶 DbConnection、DbTransaction 參數的函數,也是不受權限控制約束的
7,修改 Phenix.Core.Net.NetConfig.ServicesFixed = true 時的登錄界面(Phenix.Services.Client.Security.LogOnDialog)邏輯(false時仍維持原有邏輯),服務IP輸入框下拉清單由登錄者自行維護(組合鍵Ctrl+Del可將當前輸入框內容從下拉清單中剔除),默認值請配置在客戶端程序的config文件里,例如:
? ? ? ? <add key="Phenix.Core.Net.NetConfig.ServicesFixed." value="True" />
? ? ? ? <add key="Phenix.Core.Net.NetConfig.ServicesAddress." value="192.168.1.100" />
? ? ? ? <add key="Phenix.Core.Net.NetConfig.ServicesAddresses." value="192.168.1.100 #-*-# 192.168.1.101 #-*-# " />
8,廢棄Phenix.Services.Client.Security.LogOnDialog、LogOn的屬性UpgradeFileSubdirectoryName,而僅使用Host服務程序SystemInfo配置界面System頁上的客戶端下載目錄,且Host會為這個目錄自動添加“Own”子目錄,用于個性化的客戶端程序集或其他文件的升級下載,相應的,實施人員須為登錄用戶配置上所屬部門,所屬部門的最頂層(一級)部門的代碼,將作為“Own”下某子目錄的名字(由實施人員添加這某子目錄),這些個性化文檔部署到這某子目錄里,舉例:
? 假設客戶端下載目錄為“\\192.168.1.100\ClientLibrary\”,Host會自動為其添加“Own”子目錄,再假設登錄用戶所屬部門的頂層部門代碼為“SGWY”,則其個性化文檔部署在“\\192.168.1.100\ClientLibrary\Own\SGWY\”,同名同深度的文件“\\192.168.1.100\ClientLibrary\Test.dll”和“\\192.168.1.100\ClientLibrary\Own\SGWY\Test.dll”,被下載升級的是后者
9,補充《Phenix Framework Tools.使用指南.21.WebAPI服務》直接操作Phenix.Core.AppHub.DataProxy的示例代碼
10,如果業務類的字段 IsInputTimeColumn = true,則其必定是 IsFillSysdateColumn = true(須 CheckDirtyOnSaving = false 時有效),保存對象時自動填充數據庫時間
11,升級Phenix.Algorithm程序集DataStructures命名空間下的數據結構類,可支持多線程安全和Serializable序列化
12,如果登錄用戶有所屬部門,則其所屬部門可用于限制程序集類方法的操作,比如綁定到Phenix.Services.Client.Security.ExecuteAuthorization組件的窗體按鈕(相當于程序集類方法)可配置為與某些頂層部門進行關聯,ExecuteAuthorization組件就可以控制它們僅限于這些頂層部門下的用戶操作(灰亮或隱藏),本功能須升級配置庫(運行一次Host服務程序連接上數據庫即可),會自動新增PH_AssemblyClassMethod_Departm表:
CREATE TABLE PH_AssemblyClassMethod_Departm ( ? --程序集類方法-部門(如未指定所屬部門則不限制)
? AD_ID NUMERIC(15) NOT NULL,
? AD_AM_ID NUMERIC(15) NOT NULL, ? ? ? ? ? ? ? ?--所屬程序集類方法
? AD_DP_ID NUMERIC(15) NOT NULL, ? ? ? ? ? ? ? ?--所屬部門
? PRIMARY KEY(AD_ID),
? UNIQUE(AD_AM_ID, AD_RL_ID)
)
表內容的配置界面請自行開發(參考Phenix.Security.Windows.FormClassManage工程中對PH_AssemblyClassMethod_Role表的操作)


2017-07-26
1,Phenix.Core.IO命名空間內新增SerialPortFastReader、SerialPortDirectReader,封裝SerialPort用于讀取COM口設備傳來的數據,可同時偵聽多個COM口
2,新增后綴為“_NEWTIME”的Date類型的默認字段處理方法,如字段未按規則命名的可以顯式標記FieldAttribute的IsNewTimeColumn=true,相當于標記了IsFillSysdateColumn=true && IsWatermarkColumn=true
3,新增BusinessListBase類函數
? public IList<TBusiness> FilterSelf(Expression<Func<TBusiness, bool>> expression)
用于從隊列中(非刪除)過濾掉符合條件的業務對象


2017-08-18
1,修正業務對象被調用CancelEdit()、ApplyEdit()到EditLevel=0時應恢復到的正確狀態
2,修正BindingSource級聯Fetch刷新界面問題
3,新增后綴為“_ORIGINATOR”的VARCHAR2類型、“_ORIGINATETIME”的Date類型的默認字段處理方法,如字段未按規則命名的可以顯式標記FieldAttribute的IsOriginatorColumn=true、IsOriginateTimeColumn=true,相當于標記了IsInputerColumn=true && IsWatermarkColumn=true、IsFillSysdateColumn=true && IsWatermarkColumn=true
4,支持匿名用戶登錄,請運行Host為用戶表添加'Guest'記錄,匿名用戶僅能調用到服務端上Business或Entity類、Command或Service類的ClassAttribute屬性值OnAnonymity = true的功能


2017-09-15
1,修正登錄界面的修改密碼功能
2,Phenix.Core.Mapping.CriteriaHelper的:
? ? string JsonPack(object criteria)
? ? T JsonUnpack<T>(string sourceJson)
? ? object JsonUnpack(Type targetType, string sourceJson)
函數,優先打包/解包Phenix.Core.Mapping.CriteriaFieldAttribute標簽的字段,如沒有才打包/解包Phenix.Core.Mapping.PropertyAttribute(Serializable = true)標簽的屬性


2017-10-09
1,Bin.Top目錄下的Host服務程序,新增WebAPI端口8081,TransferMode = TransferMode.Streamed
2,Phenix.Extensions\Phenix.Web.Client.Ajax\jquery目錄下jquery.min.js版本從v1.11.3升級為v3.2.1
3,Phenix.Core.Data.ServiceBase、Phenix.Business.CommandBase基類,提供了在客戶端上傳/下載文件的函數:
? ? T UploadFiles(params string[] fileNames)
? ? void DownloadFile(string fileName)
對應的有執行在服務端的處理已傳入/待下載文件的函數:
? ? virtual void DoUploadFiles(IDictionary<string, Stream> fileStreams)
? ? virtual Stream DoDownloadFile()
如需同時持久化業務數據,可改為覆寫以下函數:
? ? virtual void DoUploadFiles(DbConnection connection, IDictionary<string, Stream> fileStreams)
? ? virtual void DoUploadFiles(DbTransaction transaction, IDictionary<string, Stream> fileStreams)
? ? virtual Stream DoDownloadFile(DbConnection connection)
? ? virtual Stream DoDownloadFile(DbTransaction transaction)
測試代碼見:
? ? Phenix.Test.使用指南.21.5.csproj
? ? Phenix.Test.使用指南.21.5.Business.csproj
4,Phenix.Web.Client.Ajax的phenix.js、Phenix.Web.Client的DataProxy類,提供了uploadFiles()、downloadFile()函數上傳/下載文件,需配套Bin.Top目錄下的WebAPI服務Host,喚起指定服務對象(繼承Phenix.Core.Data.ServiceBase、Phenix.Business.CommandBase基類),測試代碼見:
? ? Phenix.Test.使用指南.21.5.html
? ? Phenix.Test.使用指南.21.5.Business.csproj
5,補充《Phenix Framework Tools.使用指南.21.WebAPI服務》有關UploadFiles、DownloadFile功能的介紹段落


2017-10-27
1,Phenix.Extensions\Phenix.Web.Client.Ajax\jquery目錄下添加base64-binary.js,且路徑有調整
2,Phenix.Core.Data.ServiceBase、Phenix.Business.CommandBase基類,提供了在客戶端上傳/下載大文件的函數:
? ? T UploadBigFile(string fileName, Func<object, FileChunkInfo, bool> doProgress)
? ? void DownloadBigFile(string fileName, Func<object, FileChunkInfo, bool> doProgress)
對應的有執行在服務端的處理已傳入/待下載大文件的函數:
? ? virtual void DoUploadBigFile(FileChunkInfo fileChunkInfo)
? ? virtual FileChunkInfo DoDownloadBigFile(int chunkNumber)
如需同時持久化業務數據,可改為覆寫以下函數:
? ? virtual voidDoUploadBigFile(DbConnection connection, FileChunkInfo fileChunkInfo)
? ? virtual void DoUploadBigFile(DbTransaction transaction, FileChunkInfo fileChunkInfo)
? ? virtual FileChunkInfo DoDownloadBigFile(DbConnection connection, int chunkNumber)
? ? virtual FileChunkInfo DoDownloadBigFile(DbTransaction transaction, int chunkNumber)
測試代碼見:
? ? Phenix.Test.使用指南.21.5.csproj
? ? Phenix.Test.使用指南.21.5.Business.csproj
3,Phenix.Web.Client.Ajax的phenix.js、Phenix.Web.Client的DataProxy類,提供了uploadBigFile()、downloadBigFile()函數上傳/下載大文件,需配套Bin.Top目錄下的WebAPI服務Host,喚起指定服務對象(繼承Phenix.Core.Data.ServiceBase、Phenix.Business.CommandBase基類),測試代碼見:
? ? Phenix.Test.使用指南.21.5.html
? ? Phenix.Test.使用指南.21.5.Business.csproj
4,補充《Phenix Framework Tools.使用指南.21.WebAPI服務》有關UploadBigFile、DownloadBigFile功能的介紹段落
5,在Phenix.Extensions解決方案里添加Phenix.Security.Plugin.TranslationUserNumber工程,以演示如何控制權限驗證,將登錄時輸入的用戶名、手機號、郵箱等等之一信息轉換為登錄工號以通過權限驗證


2017-11-08
1,Phenix.Core.Data.DataHub新增服務函數,可從服務端批量獲取64位序號:
? ? public static long[] GetSequenceValues(int count)
2,支持數據庫日期字段的缺省值定義,如果有定義,新增業務對象時,會取系統當前時間,不過仍然需要顯式標記FieldAttribute的IsFillSysdateColumn、IsWatermarkColumn來控制持久化時是否需要用數據庫時間填充字段,或者也可以將NeedUpdate=false使得數據庫的缺省值功能生效
3,查詢類支持給字段打上FieldRuleAttribute、給字段和屬性打上ValidationAttribute,以控制其屬性的有效性校驗,而且可以與EditValidation組件配套使用,以影響界面交互效果
4,FieldAttribute的InBusinessRule屬性改為InValidation
5,更新《Phenix Framework Tools.使用指南.08.業務對象公共接口的數據驗證》
6,從WebAPI下載的數據,日期屬性的格式為:"yyyy'-'MM'-'dd' 'HH':'mm':'ss"


2017-11-19
Phenix.Core.Mapping.PropertyAttribute支持橋接屬性的構造函數,改為:

? ? /// <summary>
? ? /// 初始化
? ? /// </summary>
? ? /// <param name="bridgingPropertyName">指示該屬性橋接的屬性名</param>
? ? /// <param name="bridgingType">指示該屬性橋接嵌套的類</param>
? ? /// <param name="bridgingTypePropertyName">指示該屬性橋接嵌套的類屬性名</param>
? ? public PropertyAttribute(string bridgingPropertyName, Type bridgingType, string bridgingTypePropertyName)

相應的,AddIn工具的“橋接嵌套類屬性”功能有改動以配套它,請執行Phenix.Addin.Install.exe升級。如果現有應用中有用到本橋接方法,請編譯發現需升級的代碼行,在第一個參數前添加當前類里被橋接屬性的名稱


2017-11-22
如果登錄用戶有所屬部門,可利用其是否屬于哪個部門來控制是否允許其操作哪些服務對象(繼承Phenix.Core.Data.ServiceBase、Phenix.Business.CommandBase基類)的權限,本功能須升級配置庫(運行一次Host服務程序連接上數據庫即可),會自動新增PH_AssemblyClass_Department表:
CREATE TABLE PH_AssemblyClass_Department ( --程序集類-部門(如未指定所屬部門則不限制)
? AD_ID NUMERIC(15) NOT NULL,
? AD_AC_ID NUMERIC(15) NOT NULL, ? ? ? ? ? --所屬程序集類
? AD_DP_ID NUMERIC(15) NOT NULL, ? ? ? ? ? --所屬部門
? PRIMARY KEY(AD_ID),
? UNIQUE(AD_AC_ID, AD_DP_ID)
)
如果服務對象無需被權限控制則不必添加它,表記錄僅存儲有哪些服務可以被哪些部門的用戶操作的信息,配置界面請自行開發(參考Phenix.Security.Windows.FormClassManage工程中對PH_AssemblyClass_Role表的操作)


2017-11-25
添加說明書:
《Phenix Framework Tools.使用指南.25.持久層開發助手》
測試代碼見:
? Phenix.Test.使用指南.25.4.csproj
? ??

2017-11-28
統一引用Newtonsoft.Json的10.0.3版本


2017-12-12
權限選項EasyAuthorization配置信息,改為存放在PH_SystemInfo表SI_EasyAuthorization字段里,本功能須升級配置庫(運行一次Host服務程序連接上數據庫即可);因默認是寬松的授權(只要用戶擁有的角色之一不在禁用角色隊列里,就不被禁用),如需嚴格控制,請在Host服務程序的SystemInfo配置界面Security頁上取消這個項的勾選


2018-01-08
Phenix.Core.Data.DbCommandHelper添加了調用存儲過程的系列函數:
? void ExecuteStoredProc(string storedProcedure, params ParamValue[] parameters)
? void ExecuteStoredProc(DbConnection connection, string storedProcedure, params ParamValue[] parameters)
? void ExecuteStoredProc(DbTransaction transaction, string storedProcedure, params ParamValue[] parameters)
已規避某些版本Oracle客戶端(比如ODAC_x64)存儲過程調用后返回參數字符串會被截取一半的問題


2018-02-03
改寫說明書《Phenix Framework Tools.使用指南.12.業務結構對象模型》的12.6.2.6、12.6.2.7章節,解釋CompositionDetail/AggregationDetail的用法


2018-02-27
升級了Bin.Top目錄下的Host服務程序所引用的程序集版本,Host服務程序需運行在.NET Framework 4.6以上環境,統一引用Newtonsoft.Json.11.0.1版本


2018-03-24
修訂Addin工具中通過業務類構建的衍生類(比如xxxEasy.cs),它們的命名空間和存放目錄與其所屬業務類保持一致,升級請運行Phenix.Addin.Install.exe程序


2018-04-11
Phenix.Core.Net.NetConfig的ServicesAddress屬性可賦值為除了IP地址外允許后綴端口號(用":"分隔),也就是說登錄界面的“服務”輸入框可指定IP:Port


2018-05-03
解決Guest用戶有提示“登錄后靜止超過xxx分鐘”的問題,不對Guest用戶做控制


2018-06-12
在Bin.Top目錄下新增Phenix.Services.Host.WebCluster.exe程序,可部署在(瀏覽器/APP)客戶端與 WebAPI & WebSocket Host 服務集群之間,既能作為服務集群的負載均衡分撥器,也能作為代理服務(起到防火墻的作用)使得服務集群與數據庫都能被部署到局域網內不直接被外網訪問


2018-06-18
升級WebAPI服務,以滿足能通過“等保三級”評測認證的要求,具體見:
《Phenix Framework Tools.使用指南.21.WebAPI服務》


2018-07-25
增強Addin工具以支持Phenix.Business.BusinessPageBase<T>,升級請運行Phenix.Addin.Install.exe程序


2018-07-27
Phenix.Core.Security.UserIdentity靜態屬性LoginExpiresMinutes(見Host服務程序SystemInfo配置界面Security頁)改成SessionExpiresMinutes,為會話過期時間(分鐘),默認為0不做控制,不對Guest用戶做控制


2018-07-29
全面升級remoting/WCF協議下的服務訪問安全機制,與WebAPI服務保持一致


2018-08-06
WebAPI服務可支持匿名或登錄用戶訪問自定義ApiController,ApiController所在程序集以Plugin插件形式嵌入到服務端,具體見:
《Phenix Framework Tools.使用指南.21.WebAPI服務》"21.7公開訪問自定義ApiController"章節
測試代碼見:
? ? Phenix.Test.使用指南.21.7.csproj
? ? Phenix.Test.使用指南.21.7.Plugin.csproj


2018-08-20
增強Addin工具,可生成自定義ApiController框架代碼,升級請運行Phenix.Addin.Install.exe程序,具體見:
《Phenix Framework Tools.使用指南.21.WebAPI服務》"21.8用戶訪問自定義ApiController"章節


2018-08-28
修正因.NET32位和64位版本字符串哈希算法的不同而造成跨域傳哈希值比對不上的問題


2018-08-31
提供了簡易的消息收發功能,可向某工號用戶發送消息,支持接收方的推送/拉取模式,WabAPI的用法見:
《Phenix Framework Tools.使用指南.21.WebAPI服務》"21.9推送/拉取消息"章節
測試代碼見:
? ? Phenix.Test.使用指南.21.9.csproj


2018-09-02
WebAPI客戶端新增了CanXXX系列函數,提供控制UI交互權限的功能,具體見:
《Phenix Framework Tools.使用指南.21.WebAPI服務》"21.4權限控制"章節
測試代碼見:
? ? Phenix.Test.使用指南.21.5.csproj


2018-10-15
修正業務類在編輯對象時無法自動更新Inputer等屬性的問題


2018-11-28
FieldAttribute標簽InAuthorization設置為false時,關聯屬性的讀寫不受權限控制,不受界面BarManager、ReadWriteAuthorization組件控制


2018-12-11
業務(或集合)類提供分庫歸檔及查詢的功能,具體見:
《Phenix Framework Tools.使用指南.24.分庫歸檔及查詢》"21.4權限控制"章節
測試代碼見:
? ? Phenix.Test.使用指南.24.csproj


2018-12-16
Phenix.Services.Library的IAuthoriser接口函數Translation返回值改為UserIdentity,可同時轉譯用戶工號及獲取動態口令(函數實現中return new UserIdentity(登錄工號, 動態密碼);),具體見:
《Phenix Framework Tools.使用指南.21.WebAPI服務》"21.3.5轉譯用戶工號及獲取動態口令"章節
示例代碼見:
? ? Phenix.Security.Plugin.TranslationUserNumber.csproj


2018-12-20
Phenix.Services.Host.WebCluster程序,增加對SSL協議的支持,配置方法見SystemInfo配置功能窗體


2019-01-31
Phenix.Services.Library的IAuthoriser接口函數Translationd返回的動態口令,可與PH_User表里的靜態口令一起使用,同時響應不同的客戶端(比如PC用動態口令,APP用靜態口令,同時發起調用服務)


2019-02-21
修正在分布式服務環境下,當用戶修改完口令后首次調用服務時可能會返回口令驗證異常的缺陷


2019-04-05
1,升級Phenix.Addin.Install.exe(請以超級管理員身份運行),以支持Microsoft Visual Studio 2019(Phenix.Addin.VSPackage_2019.vsix)


2019-04-08
修正在挑選枚舉清單并提交時無法自動刪除被勾去的子表記錄的問題
測試代碼見:
? ? Phenix.Test.使用指南.12.10.3


2019-06-14
1,服務端Thread.CurrentThread.CurrentCulture與登錄用戶客戶端的值保持一致,以支持客戶端的多語言環境
2,EnumCaptionAttribute新增EnCaption屬性,當客戶端環境為英文時Caption屬性返回的是EnCaption屬性值


2019-06-24
將登錄界面功能模塊LogOnDialog從Phenix.Services.Client.Security命名空間復制到Phenix.Windows程序集的Phenix.Windows.Security命名空間,可重構以適應系統個性化開發

?

?轉載請注明出處,謝謝。

?













總結

以上是生活随笔為你收集整理的Phenix.NET for WebAPI WF CSLA,企业级、分布式、符合领域建模的OOP软件快速开发平台的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

在线观看视频99 | 久久久首页 | 欧美91在线 | 精品一区二区在线观看 | 色中文字幕在线观看 | 精品国产乱子伦一区二区 | 亚洲aⅴ久久精品 | 久久成人一区 | 精品日韩视频 | 在线成人性视频 | 中文字幕在线视频一区二区 | 国产亚洲成人网 | 久久久久国产视频 | 久久r精品 | 国产免费不卡 | a级片在线播放 | 久久国产成人午夜av影院潦草 | 国产精久久久久久妇女av | 日韩亚洲欧美中文字幕 | 久久五月精品 | 久久综合久久综合这里只有精品 | 在线观看v片 | 亚洲国产日韩欧美在线 | 国产福利91精品一区二区三区 | 午夜骚影 | 日韩av影视在线 | 色 免费观看 | 亚洲精品videossex少妇 | 欧美日韩国产区 | 久久久久久久久网站 | 黄色av网站在线免费观看 | 亚洲精品国偷拍自产在线观看 | 娇妻呻吟一区二区三区 | 特级西西人体444是什么意思 | 久草视频精品 | 欧洲亚洲国产视频 | 91精品蜜桃 | av在线电影网站 | 日日夜日日干 | 成年一级片 | 免费观看成年人视频 | 午夜精品一区二区三区在线播放 | 97人人看 | 99精品欧美一区二区三区黑人哦 | 国产精品资源网 | 国产在线视频资源 | 亚洲欧洲xxxx | 午夜免费福利片 | 啪啪肉肉污av国网站 | 国产高清久久久久 | 国产亚洲小视频 | 国产精品破处视频 | 欧美无极色 | 九七在线视频 | 国产精品久久片 | 国产免费观看高清完整版 | 午夜三级理论 | www久草 | 日日操日日 | 97国产大学生情侣酒店的特点 | 97碰在线| 日韩av午夜在线观看 | 久久天堂网站 | 天天干天天操天天干 | 婷婷在线不卡 | 99色网站| 在线免费视频a | 黄色三级在线观看 | 久久久久五月天 | a在线视频v视频 | 国产一区二区三区网站 | 久久www免费人成看片高清 | 在线观看免费色 | 中文字幕在线一区观看 | 亚州欧美视频 | 日韩精品一区二区三区高清免费 | 国产精品免费视频观看 | 在线精品视频在线观看高清 | 国产美女网站视频 | 亚洲国产精品va在线 | 国产亚洲高清视频 | 国产91亚洲| av黄免费看 | 中日韩免费视频 | 99精品偷拍视频一区二区三区 | 亚洲成a人片综合在线 | 亚洲女欲精品久久久久久久18 | 国产96在线观看 | 激情五月五月婷婷 | 国产成人99av超碰超爽 | 九九九在线观看视频 | 综合影视 | 色橹橹欧美在线观看视频高清 | 成人理论在线观看 | 97精品国产一二三产区 | 九九九九九九精品任你躁 | 五月婷香蕉久色在线看 | 久久草在线视频国产 | 国产亚洲精品成人 | 深夜免费小视频 | 久草久热 | 国产在线一区二区 | 国产日韩欧美视频 | 成人黄色在线电影 | 九九热精品视频在线播放 | 亚洲精品午夜视频 | 四虎国产永久在线精品 | 精品久久久久免费极品大片 | 91中文字幕在线视频 | 天天拍夜夜拍 | 91视频在线免费观看 | 国产成人精品av久久 | 中文字幕在线播放av | www黄色大片 | 成人理论在线观看 | 成年人在线免费看 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 国产一级一级国产 | 伊人伊成久久人综合网小说 | a视频在线观看免费 | 国产一二三四在线观看视频 | 免费a级观看 | 欧美精品免费一区二区 | 亚洲黄网址 | 免费在线观看av网站 | av综合在线观看 | 最近久乱中文字幕 | 午夜电影 电影 | 亚洲国产成人在线 | www天天操 | 黄色.com| 国产精品美女视频 | 黄色国产高清 | 婷婷综合激情 | a级国产毛片 | 黄色网址a | 国产精品美女久久久免费 | 久草视频中文 | 91精品无人成人www | 国产午夜激情视频 | 国产九色视频在线观看 | 少妇性aaaaaaaaa视频 | 91av在线免费| 亚洲综合色网站 | 亚洲激精日韩激精欧美精品 | 天堂va欧美va亚洲va老司机 | 顶级bbw搡bbbb搡bbbb | 久久国精品 | 日韩视频一 | 丁香婷婷在线 | 欧美91视频 | 国产精品美女在线观看 | 亚洲精品欧美视频 | 国产自偷自拍 | 91av视频 | 成年人精品 | 五月婷婷网站 | 久久精品视频一 | av三级在线看 | 成人资源在线观看 | 久久精品视 | 香蕉影视app | 久久国产精品视频观看 | 九九热视频在线 | 日韩免费观看视频 | 婷婷网站天天婷婷网站 | 免费视频在线观看网站 | 欧美午夜寂寞影院 | 欧美伦理一区二区 | 开心婷婷色 | av黄色免费看 | 久久婷婷开心 | 久久免费毛片视频 | 午夜精品久久久99热福利 | 蜜臀久久99精品久久久无需会员 | 99久视频 | 婷婷成人亚洲综合国产xv88 | 国产免费叼嘿网站免费 | 久久精品视频在线免费观看 | 亚洲一级二级 | 亚洲精品456在线播放第一页 | 国产欧美高清 | 天天干天天做天天爱 | 91视频免费看片 | 久久久久久久久久久免费av | 五月婷婷狠狠 | 欧美性做爰猛烈叫床潮 | 丁香六月国产 | 正在播放亚洲精品 | a在线v| 免费在线色电影 | 免费看的黄色录像 | 久久深夜福利免费观看 | 黄色网大全 | 久久第四色 | 丁香婷婷深情五月亚洲 | 美女视频黄是免费的 | 国产精品综合久久久久久 | 99九九热只有国产精品 | 91人人澡人人爽人人精品 | 五月婷婷六月丁香 | 波多野结衣电影久久 | 日本中文字幕在线观看 | 99精品视频精品精品视频 | 欧美成人猛片 | 91香蕉视频污在线 | 91一区二区三区久久久久国产乱 | 亚洲乱亚洲乱亚洲 | 国产伦理精品一区二区 | 精品久久久久久久久久国产 | 97视频亚洲 | 欧美黄色特级片 | 最近乱久中文字幕 | 中文字幕国产精品一区二区 | 国产精品精 | 欧美日韩在线观看视频 | 91看片淫黄大片一级在线观看 | 最近字幕在线观看第一季 | 国产99久久久久 | 久久国产区 | 欧美a级在线免费观看 | 日韩中文字幕一区 | 亚洲精品在线视频 | 亚洲涩涩涩涩涩涩 | 最近高清中文字幕在线国语5 | 久久精品一区二区三区四区 | 日韩精品免费在线观看 | 欧美精品免费在线观看 | 国产日本在线播放 | 欧美日韩国产色综合一二三四 | 国产精品每日更新 | 久久伦理网| 少妇bbb| 国产成人99av超碰超爽 | 黄色影院在线免费观看 | 69久久99精品久久久久婷婷 | 国产成人精品女人久久久 | 亚洲一级免费电影 | 亚洲国内精品视频 | 97视频人人 | 黄色大片av| 国产精品一区二区三区观看 | 中文字幕成人一区 | 国产免费专区 | 精品国内 | 极品久久久久久久 | 中文字幕在线观看91 | 日本精a在线观看 | 日本中文字幕在线视频 | 久久夜色电影 | 天天爱天天操天天干 | 国产不卡av在线播放 | 亚洲午夜精品一区二区三区电影院 | 丁香婷婷在线 | 亚洲婷久久 | 黄色av播放| 日韩免费看 | 国产精品美女久久久久久久 | 国产91对白在线 | 国产视频九色蝌蚪 | 91黄色影视| 国产一区二区在线免费 | 中文字幕av全部资源www中文字幕在线观看 | 五月婷婷播播 | 天天插伊人 | 日韩网站在线看片你懂的 | 欧美最猛性xxxxx免费 | 五月婷久久 | 在线成人中文字幕 | 狠狠狠狠狠干 | 成人97人人超碰人人99 | www.com久久| 久久人网 | 亚洲视屏在线播放 | 欧美粗又大| 欧美日韩在线精品一区二区 | 日韩字幕在线观看 | 日日草夜夜操 | 国产亚洲情侣一区二区无 | 久久精品视频日本 | 91污污视频在线观看 | 欧美粗又大| 看片网站黄色 | 久插视频 | 欧美色图30p| 国产在线观看,日本 | 欧美极品一区二区三区 | 在线观看国产日韩欧美 | 麻豆视频www | 日韩电影中文字幕在线 | 久久久久这里只有精品 | 亚洲最新av | 国产日产在线观看 | 在线99| 国产精品av一区二区 | 亚洲精品免费观看视频 | 最新精品国产 | 久久久久久久久久久免费 | www.成人精品 | 色噜噜日韩精品一区二区三区视频 | 国产精品视频地址 | 久久毛片网站 | 精品久久福利 | 奇米网8888| 久久国产精品视频 | 亚洲精品在线看 | 精品国产一区二区三区日日嗨 | 精品夜夜嗨av一区二区三区 | 日本不卡一区二区 | 亚洲最大激情中文字幕 | 日韩中文字幕亚洲一区二区va在线 | 麻豆高清免费国产一区 | 免费色av | 日本中文字幕在线播放 | 精品视频999| 高清免费av在线 | 99一区二区三区 | 国内精品久久久久久久久久久久 | 久久久久高清 | 亚洲一区二区三区精品在线观看 | 狠狠久久综合 | 99爱视频 | 三级小视频在线观看 | av日韩不卡 | 一区二区国产精品 | 欧美一区二区精美视频 | 西西人体4444www高清视频 | 99久久精品久久久久久清纯 | 一色屋精品视频在线观看 | 亚洲精品999 | 香蕉视频国产在线观看 | 国产一区二区成人 | 97精品国自产拍在线观看 | 欧美精品中文在线免费观看 | 欧美在线视频一区二区三区 | 美国av大片 | 欧美激情第一区 | 日本三级大片 | 国产精品视屏 | 超碰在线天天 | 国产高清网站 | 国产精品av在线免费观看 | 一区二区毛片 | 69视频在线播放 | 日韩视频一区二区三区在线播放免费观看 | 天天躁日日躁狠狠躁av麻豆 | 96av视频| 午夜视频久久久 | 久久精品网站视频 | 成人av免费电影 | h网站免费在线观看 | 在线观看91精品视频 | 亚洲天堂毛片 | 一级免费片 | 精品在线观看一区二区 | 国产精品久久久久久久久久 | 在线成人性视频 | 国产日产高清dvd碟片 | 日本特黄一级 | 99久久精品国产观看 | 中文字幕 成人 | 91网址在线 | 97超碰香蕉 | 人人玩人人添人人 | www.久久色.com | 亚洲午夜精品福利 | 亚洲成人精品在线观看 | 国产成人精品三级 | 亚洲伊人第一页 | 在线观看韩国av | 国产1区在线观看 | 91手机在线看片 | 精品国产乱码久久久久久三级人 | 日韩免费中文字幕 | 奇米影视777四色米奇影院 | 成人在线观看免费 | 人人射人人 | 久久色视频 | www.色午夜| 开心激情网五月天 | 涩五月婷婷 | 日韩欧美在线影院 | 天天操网 | 免费观看mv大片高清 | 久久激情视频 | 国产日韩精品在线 | 日本在线观看中文字幕无线观看 | 超碰在线公开免费 | 久久伊人精品一区二区三区 | 一级片黄色片网站 | 国产精品婷婷 | 中文字幕精 | 欧美少妇xx | 综合久久影院 | 国产精品久久av | 波多野结衣视频一区 | 亚洲精品在线看 | 国产美女搞久久 | 亚洲在线黄色 | 中文字幕亚洲欧美日韩2019 | 六月丁香婷婷网 | 九色琪琪久久综合网天天 | 亚洲欧美综合精品久久成人 | 国产精品久久久久久一二三四五 | 日韩午夜电影院 | 一区二区三区免费在线观看视频 | 综合成人在线 | av网站播放 | 日本精品一| 97精品在线视频 | 日韩电影精品 | 日日干夜夜草 | 黄色片网站免费 | 久久视频在线看 | 国产98色在线 | 日韩 | 日本精品在线视频 | 日本精品久久久久久 | 91丝袜美腿 | 91视频大全 | 在线电影91 | 日本中文字幕在线 | 免费高清av在线看 | 粉嫩一二三区 | 国产日韩在线看 | 国产精品第 | av在线网站观看 | 88av色| 又大又硬又黄又爽视频在线观看 | 91爱看片| 天天色天天操天天爽 | 欧美久久久| 五月开心婷婷网 | 婷婷五月在线视频 | 一区二区三区在线视频111 | av在线免费播放 | 在线亚洲欧美日韩 | 青草草在线 | 999久久久免费精品国产 | 国产3p视频 | 深夜国产在线 | 久久久五月婷婷 | 精品视频区 | 中字幕视频在线永久在线观看免费 | 久久久免费毛片 | 在线亚洲成人 | 最近免费观看的电影完整版 | 亚洲国产资源 | 超碰免费久久 | 91精品啪在线观看国产线免费 | 91av视频网站 | 99久久精品免费看国产麻豆 | 久久一区二 | 欧美与欧洲交xxxx免费观看 | 欧美aaa大片 | 91精品一区二区在线观看 | 久久精品国产精品亚洲精品 | 天天综合人人 | 久久久久久久国产精品视频 | 日韩黄色软件 | 久久99亚洲精品久久 | 欧美日韩视频观看 | 天天操天天射天天爱 | 天天天干天天射天天天操 | 激情 婷婷 | 欧美视频18 | 天天色天天综合网 | 亚洲美女精品区人人人人 | 丝袜+亚洲+另类+欧美+变态 | 天堂视频中文在线 | 中文字幕在线观看91 | 成人午夜精品福利免费 | 亚洲精品午夜一区人人爽 | 亚洲,国产成人av | 91看片看淫黄大片 | 波多野结衣一区 | 中文字幕日韩一区二区三区不卡 | 成人a级免费视频 | 麻豆极品| 91视频在线看 | 欧美日韩高清一区二区三区 | 91成人网在线观看 | 日本一区二区三区免费看 | 久久无码av一区二区三区电影网 | 四虎成人精品永久免费av九九 | 探花视频在线观看 | 亚洲午夜久久久久久久久久久 | 免费国产在线精品 | 四虎国产精品成人免费4hu | 中文字幕a∨在线乱码免费看 | 欧美黄在线| 91在线看网站 | 亚洲狠狠 | 国产精品久久久久久久电影 | 麻豆激情电影 | 亚洲美女视频网 | 人人爽久久久噜噜噜电影 | 一区二区三区精品在线视频 | www..com毛片 | 久黄色| 国产二区av | 久久久久久久久久久久久久电影 | 色中色资源站 | 欧美色伊人 | 麻豆视频免费在线播放 | www免费黄色 | 91一区二区三区在线观看 | 在线观看激情av | 亚洲午夜精品福利 | 久久69精品| 日韩欧美精品在线视频 | 夜夜躁天天躁很躁波 | 三上悠亚一区二区在线观看 | 国产高清视频在线播放 | 国产亚洲视频在线观看 | 国产精品美女久久久久久2018 | 免费久久久久久久 | 国产亚洲午夜高清国产拍精品 | 亚洲国产69 | 丁香婷婷久久久综合精品国产 | 久久av免费 | 国产精品久久久久久99 | 碰超在线| 国产视频在线一区二区 | 激情影院在线 | 日韩在线欧美在线 | 丝袜美腿在线播放 | 国产精品久久久久9999 | 亚洲精品视频一 | 国产日产亚洲精华av | 97国产精品一区二区 | 日韩在线观看视频在线 | 国产女v资源在线观看 | 亚洲精品国产免费 | av经典在线 | 成年人在线观看网站 | 人人添人人澡人人澡人人人爽 | 日韩中字在线 | 欧美日本啪啪无遮挡网站 | 三级av网站 | 亚洲精品啊啊啊 | 欧美性春潮 | 中文字幕在线观看日本 | 888av | 天天搞天天干天天色 | 国产精品麻豆三级一区视频 | 色网站在线观看 | 日韩在线观看第一页 | 久久人人精 | 日韩精品久久久免费观看夜色 | 依人成人综合网 | 91亚洲欧美 | 毛片精品免费在线观看 | 开心激情网五月天 | 国产免费一区二区三区最新 | 午夜123 | 国产精品一区免费看8c0m | 91在线影院| 色.www | av国产网站 | 国产精品18久久久久久久久久久久 | 久久视频在线观看免费 | 国产伦精品一区二区三区四区视频 | 福利视频区 | 久久视频精品在线观看 | 夜夜婷婷 | 999久久久国产精品 高清av免费观看 | 亚洲成人网在线 | 最近中文字幕在线中文高清版 | 天天干夜夜爽 | 成人免费视频视频在线观看 免费 | 97在线观看免费高清完整版在线观看 | 超碰在线99 | 国产精品成人a免费观看 | 视频在线观看91 | 全黄网站 | 97超碰人人 | 久久不射电影院 | 免费的黄色av | 人人擦 | 麻豆视频免费网站 | 欧美国产亚洲精品久久久8v | 国产精品美女999 | 伊人夜夜 | 黄色av大片 | 亚洲欧美国产精品va在线观看 | 黄色精品在线看 | 天天天干天天射天天天操 | 一区二区视频网站 | 91中文字幕在线 | 日本在线视频网址 | 天天av综合网 | 在线黄色观看 | 中文字幕免费观看全部电影 | 国产人免费人成免费视频 | 亚洲专区 国产精品 | 亚洲精品国产品国语在线 | 伊人黄色网 | 国产女人40精品一区毛片视频 | 成人h电影在线观看 | 激情六月婷婷久久 | 97超碰免费在线 | 久久久久亚洲国产精品 | 天天射天天搞 | 亚洲欧美日韩中文在线 | 国产精品久久精品国产 | 国产拍在线 | 精品免费视频123区 午夜久久成人 | 国产色在线| 黄色www| 少妇bbb好爽 | 久久少妇av| 日日添夜夜添 | 五月天综合在线 | 亚洲区精品 | 国产精品video爽爽爽爽 | 久久久久国产一区二区三区四区 | 国产丝袜美腿在线 | 日韩一级电影在线 | 日韩精品黄| 欧美在线资源 | 中文字幕在线免费看 | 黄在线免费观看 | 蜜桃av久久久亚洲精品 | 国产一级高清 | 日韩视频在线观看免费 | 久久色视频 | 亚洲国产精彩中文乱码av | 91在线看| 久久久久福利视频 | 五月婷婷综合久久 | 天堂视频中文在线 | 激情丁香| 国产色视频一区二区三区qq号 | www.天天射| 一区二区三区精品在线 | 亚洲午夜精品一区二区三区电影院 | www.狠狠插.com| 九九热视频在线 | 欧美看片 | 欧美一级免费片 | 日韩精品视频免费看 | 日韩精品第1页 | 欧美激情视频一区二区三区免费 | 五月天天在线 | 亚洲欧美一区二区三区孕妇写真 | 不卡的av在线播放 | 人人插超碰 | 亚洲色图色 | 日韩精品中文字幕一区二区 | 中文在线天堂资源 | 精品视频不卡 | 日韩午夜av | 天堂麻豆| 久久久久福利视频 | 国产成人高清av | 国产日产在线观看 | 亚洲精品女人久久久 | 三级av黄色| 日韩中文字幕a | 成人性生交大片免费观看网站 | 国产色在线 | 日韩视频一区二区在线观看 | 一区二区三区在线免费播放 | 中文字幕之中文字幕 | 色就色,综合激情 | 久久午夜影院 | 亚洲视频精选 | 99精品免费久久久久久日本 | 日韩二区三区在线观看 | 成片免费观看视频大全 | 在线视频久久 | 9992tv成人免费看片 | av中文字幕第一页 | 日韩高清av在线 | 国产精品乱码久久 | 国产精品初高中精品久久 | 中文伊人 | 亚洲在线精品视频 | 人人狠狠综合久久亚洲婷 | 亚洲成人动漫在线观看 | 国产一区免费观看 | 国产在线免费 | av大全免费在线观看 | 在线小视频| 久久综合狠狠综合久久激情 | 亚洲国产日韩一区 | 天天爱天天操天天爽 | 日韩中文字幕免费电影 | 国产视频1区2区 | 国产日产在线观看 | 久久久国产精品一区二区三区 | www..com黄色片 | av中文字幕在线电影 | 国产一区二区在线播放视频 | 精品一区精品二区高清 | 国产在线视频一区 | 狠狠干婷婷色 | 久草国产精品 | 午夜精品久久久久久 | 2022中文字幕在线观看 | 久久久久国 | 欧美日韩不卡在线视频 | 国产在线一区二区 | 精品日韩在线 | 激情伊人五月天久久综合 | 亚洲精品视频网 | 国内久久久久 | 91| 天天操天天色天天 | 蜜臀精品久久久久久蜜臀 | 久草在线99 | 亚洲精选视频免费看 | 国产成人精品免费在线观看 | 欧美 日韩 视频 | 成 人 黄 色 视频免费播放 | 久久精品香蕉 | 亚洲一级免费观看 | 日韩女同一区二区三区在线观看 | 日韩中文字幕电影 | 视频一区二区精品 | 日韩免费一区 | 成人在线一区二区三区 | 色综合天天色综合 | 91丨九色丨国产女 | 91视频观看免费 | 国产精品一区二区三区视频免费 | 久久国色夜色精品国产 | 男女全黄一级一级高潮免费看 | 麻豆av电影 | 欧美日韩大片在线观看 | 91免费黄视频 | 国产视频亚洲精品 | 五月婷婷丁香激情 | 日本少妇视频 | 综合色婷婷 | 精品国产一区二区三区不卡 | 久久精品8 | 日韩一区二区免费视频 | 日韩欧美视频一区 | 韩日电影在线观看 | 亚洲欧美日韩在线一区二区 | 国产精品久免费的黄网站 | 中文字幕在线视频免费播放 | h网站免费在线观看 | 日韩女同一区二区三区在线观看 | 国产精品孕妇 | 国产福利一区在线观看 | 综合精品久久久 | 不卡av在线 | 网站免费黄色 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 粉嫩av一区二区三区入口 | 麻豆视频在线观看 | 91日韩在线专区 | 亚洲国产三级 | 麻豆首页 | 麻豆久久精品 | 国产精品久久久久久久久久了 | 久久手机在线视频 | 免费h视频| 日b视频在线观看网址 | 国产丝袜制服在线 | 日本精品一区二区在线观看 | 精品国产aⅴ麻豆 | 国产成本人视频在线观看 | 欧美美女视频在线观看 | 国产日韩av在线 | 色哟哟国产精品 | 久久综合久久八八 | 国产乱对白刺激视频不卡 | 久久黄色免费观看 | 欧美一级片在线播放 | 亚洲91av| 色免费在线 | 操老逼免费视频 | 久草视频精品 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 亚洲精品乱码久久久一二三 | 日韩色一区二区三区 | 久久免费一 | av在线播放一区二区三区 | 亚洲va天堂va欧美ⅴa在线 | 国产成人一区二区三区在线观看 | 国产精品国产三级国产不产一地 | 一区二区不卡视频在线观看 | 午夜久久影院 | 91香蕉视频色版 | 国产麻豆精品一区 | 日韩精品视频第一页 | 美女视频黄免费的 | 精品1区2区3区 | 五月色婷| 97国产 | 免费看色的网站 | 国产麻豆剧果冻传媒视频播放量 | 午夜久操 | 麻豆免费精品视频 | 久久免费视频2 | 麻豆影视网 | 国产黄色免费在线观看 | 一级精品视频在线观看宜春院 | 国产一区二区观看 | 国产精品中文字幕在线 | 久久天天躁狠狠躁亚洲综合公司 | 国偷自产中文字幕亚洲手机在线 | 91av播放| 一级黄色免费 | 免费看黄电影 | 一区二区三区av在线 | 91麻豆国产 | 日本午夜在线亚洲.国产 | 中文字幕在线视频一区二区 | 日韩一区二区在线免费观看 | 久久美女视频 | 91禁在线看 | 午夜久久成人 | 日本中文字幕一二区观 | 国产手机在线精品 | 一区二区三区国 | 美女黄色网在线播放 | 亚洲精品小区久久久久久 | 国产精品久久嫩一区二区免费 | 99精品影视 | 免费黄色在线播放 | 色在线国产 | 综合网伊人| 亚洲va欧美va | 国产专区日韩专区 | 国产二级视频 | 一区二区不卡视频在线观看 | 精品毛片一区二区免费看 | 国产不卡在线看 | 国产无套精品久久久久久 | 国产精久久久 | 国产精品岛国久久久久久久久红粉 | 中文字幕高清视频 | 中文字幕在线观看视频网站 | 亚洲一级二级 | 成人在线观看日韩 | 麻豆精品视频在线观看免费 | 久久国产综合视频 | 婷婷丁香久久五月婷婷 | a天堂免费 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 欧美大片mv免费 | 日韩精品一区二区在线 | 国产系列在线观看 | 免费网站黄 | 国产精品免费观看国产网曝瓜 | 午夜视频免费播放 | 久草在线观看视频免费 | 亚洲国产中文字幕在线观看 | 狠狠色狠狠色综合日日小说 | 全久久久久久久久久久电影 | 久久9视频| 欧美一级性生活片 | 特级毛片爽www免费版 | 日本不卡一区二区三区在线观看 | 天天天天色综合 | 午夜在线免费观看 | 欧美日韩午夜爽爽 | 国产精品免费观看久久 | 天天插狠狠插 | 精品国产一区二区三区日日嗨 | 日韩在线观看你懂的 | 亚洲一级黄色av | 婷婷在线视频 | 色婷婷精品大在线视频 | 色免费在线 | 96久久 | 亚洲精品麻豆 | 婷久久 | 一区二区三区四区在线 | 日本不卡视频 | 婷婷丁香av | 国产1区2区3区精品美女 | 免费看的视频 | 最新日韩在线观看 | 国产视频在线看 | 久久黄色成人 | 97人人艹 | a视频免费在线观看 | 国产一区欧美在线 | va视频在线| 欧美极度另类 | 免费在线国产精品 | 人人爽人人爽人人爽人人爽 | 久久亚洲精品电影 | 亚洲国产精品一区二区尤物区 | 国产又黄又硬又爽 | 国产99久久久欧美黑人 | 狠狠操综合| 欧美精品亚洲二区 | 国产精品久久久久久久免费 | 91桃色国产在线播放 | 五月婷婷久久丁香 | 国产中文字幕第一页 | 99性视频| www.人人草 | 97碰在线视频 | 国产精品成人一区二区 | 午夜视频免费 | 国产成人在线观看 | 国内精品久久久久影院日本资源 | 日日干天天插 | 国产精品成人免费精品自在线观看 | 在线免费观看视频a | 黄色福利| 成人久久免费 | 国产在线无 | 美女网站视频色 | 国产流白浆高潮在线观看 | 99久久日韩精品视频免费在线观看 | 在线国产不卡 | 欧美日韩久久不卡 | 亚洲一区精品人人爽人人躁 | 综合网成人 | av动态图片| 亚洲另类视频在线观看 | 国产精品久久久久一区二区三区共 | 久草网在线观看 | 午夜国产一区二区三区四区 | 国产精品国产亚洲精品看不卡 | 国产成人精品国内自产拍免费看 | 黄色午夜| 国产五月婷婷 | aaa亚洲精品一二三区 | 最新中文字幕在线观看视频 | 婷婷视频在线播放 | 国产美女被啪进深处喷白浆视频 | 黄色av电影在线 | 亚洲视频在线视频 | 日韩在线视 | 亚洲精品黄 | 成人久久久电影 | 国产中文字幕国产 | 在线播放 日韩专区 | 国产免费人成xvideos视频 | 色姑娘综合天天 | 日韩高清久久 | 99视频这里有精品 | 四虎国产精品免费观看视频优播 | 免费高清在线观看电视网站 | 免费观看www小视频的软件 | a在线免费观看视频 | 国产在线精品国自产拍影院 | 激情五月色播五月 | 久久精品在线免费观看 | 亚洲精选视频免费看 | 少妇bbbb| 91精品视频导航 | 国产91在线播放 | 亚洲天堂精品视频在线观看 | 五月婷香 | 免费成人在线观看视频 | 最近中文字幕免费av | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 国产一区二区三区免费观看视频 | 欧美在线视频一区二区三区 | 亚州精品天堂中文字幕 | 狠狠狠狠狠狠狠狠干 | 二区三区在线观看 | 精品视频123区在线观看 | 国产精品免费人成网站 | av在线播放国产 | 色综合天天狠天天透天天伊人 | 四虎在线视频 | 日韩成人在线一区二区 | 中文字幕免费看 | 美女视频久久 | 天天碰天天操视频 | www免费看片com | 久久草av| 四虎欧美| 久久免费黄色大片 | 日韩专区在线播放 | 久久在线一区 | 国产精品午夜免费福利视频 | 国产成人精品网站 | av一本久道久久波多野结衣 | 欧美一区二区三区免费看 | 日日夜夜国产 | 精品一区电影国产 | 国产高清视频免费最新在线 | 人人爽人人干 | 黄色一级动作片 | 97碰碰精品嫩模在线播放 | 久久久久久久久福利 | 国产日韩欧美在线观看视频 | www.久草视频 | 日日草天天干 | 色婷婷六月 | 亚洲精品男人的天堂 | 在线日本v二区不卡 | 久草在线高清视频 | 国产精品精品国产 | 欧美在线视频一区二区三区 | 少妇精品久久久一区二区免费 |