翻譯|產品更新|編輯:龔雪|2024-12-09 10:24:38.633|閱讀 93 次
概述:.NET應用UI框架DevExpress XAF v24.2即將在近期更新,新版本官宣會增強跨平臺性,歡迎加入社群及時獲取最新信息!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DevExpress XAF是一款強大的現代應用程序框架,允許同時開發ASP.NET和WinForms。DevExpress XAF采用模塊化設計,開發人員可以選擇內建模塊,也可以自行創建,從而以更快的速度和比開發人員當前更強有力的方式創建應用程序。
本文記錄了一些DevExpress XAF v24.2相關功能,新版本預計將在12月初發布,本系列文章將詳細介紹搶先體驗預覽版本!您將看到,目前DevExpress XAF v24.2相關的重點領域仍然是Blazor、實體框架核心和安全性。
DevExpress技術交流群11:749942875 歡迎一起進群討論
如果您有一個Universal Subscription,請隨時下載此 Early Access Preview (EAP) build,如果您擁有一個激活的DXperience Subscription,并希望了解更多有關跨平臺.NET App UI (XAF)或Web API Service,您可以通過登錄到DevExpress下載管理器并在試用模式下安裝此EAP構建來探索本文描述的功能。
DevExpress XAF UI (Blazor 和 WinForms)和Web API Service都提供了一個“一鍵”解決方案,將現代OAuth2身份驗證提供程序與本地單點登錄(SSO)(如Microsoft Entra SSO)、多因素身份驗證(MFA)和其他安全功能結合起來,這適用于EF Core和XPO ORM。有關這方面的其他信息,請參閱及相關文檔。
Passkeys使用您的設備鎖(例如您的指紋,面部,pin或圖案)登錄到您的Microsoft,谷歌或其他身份驗證提供商帳戶。例如,Microsoft Authenticator可用于登錄任何Microsoft Entra ID帳戶,而無需使用密碼。Microsoft Authenticator使用基于密鑰的身份驗證來啟用綁定到設備的用戶憑證(其中設備使用PIN或生物識別技術),使用了類似的技術。
在v24.2中,DevExpress XAF UI (Blazor和WinForms)和Web API Service將支持所有與Passkey相關的使用場景,這包括恢復忘記的密碼、暫時阻止訪問帳戶、帳戶恢復、人臉識別登錄、PIN、指紋、OTP、QR碼,或各種身份驗證應用程序,使用中間層應用程序服務器或WinForms中的更簡單配置。
在EF Core中為服務器端計算字段實現了一個更簡單的解決方案。請注意,在Server和InstantFeedback模式下,您可以通過計算屬性對List View數據進行排序、分組或篩選。使用DevExpress.ExpressApp.DC.CalculatedAttribute或DevExpress.ExpressApp.DC.PersistentAliasAttribute來指示是否計算屬性的值。下面的代碼片段演示了如何創建一個帶有計算屬性的類:
using DevExpress.ExpressApp.DC; public class Product : BaseObject { // ... public virtual decimal Quantity { get; set; } public virtual decimal Price { get; set; } [PersistentAlias("Quantity * Price")] // or [Calculated("Quantity * Price")] public decimal TotalPrice { get { return EvaluateAlias<decimal>(); } } }
v24.2支持EF Core軟刪除(又名XPO的延遲刪除),用于DevExpress XAF UI和Web API Service驅動的應用程序。
對于軟刪除或延遲對象刪除,ORM將對象標記為已刪除,而不會立即從數據庫中物理地刪除它們。此技術有助于在刪除由其他實體引用的對象時避免數據庫異常。
我們還為現有數據庫表創建了一個自動轉換器(以添加新的GCRecord列)。
DevExpress v24.2引入了XAF中EF Core的計算屬性,這一變化需要方便地訪問自定義IsExactType和IsInstanceOfType函數,而不管應用程序中使用的ORM是什么。
為了實現奇偶性,我們將定制的IsExactType和IsInstanceOfType函數從DevExpress.Xpo程序集移動到DevExpress.Data程序集。
這個變化允許這個功能在EF Core中工作,您可以在EF Core項目中使用以下功能:Upcasting和Free Joins,這使得EF Core的過濾功能與今天的XPO ORM沒有什么不同。
在v24.2中,XAF在.NET應用程序的XPO連接提供程序中支持DateOnly/TimeOnly,這種增強有利于XAF/Reporting/Dashboards和其他產品,因為XPO是內部數據訪問代碼的核心。作為其中的一部分,我們還更改了SQL類型Date和Time的列映射。
DevExpress XAF v24.2優化了所有支持平臺上的圖像/圖標加載操作,我們注意到應用程序啟動時間的改進高達2秒(或者在具有大量操作的復雜應用程序中更多)。
在內部,我們也在安全對象和成員權限(EF Core和XPO ORM)和計算字段(僅EF Core)中使用了CriteriaCompiler而不是CriteriaEvaluator。對于特定的使用場景,這將計算時間和內存分配減少了一半。與此同時,您可以看看我們實驗室的一些截圖(這些變化還沒有包括在這個EAP中):
DevExpress XAF現在自動從基于XPO的應用程序審計跟蹤中排除所有非持久性屬性,如果非持久性屬性的setter方法包含廣泛的邏輯,則此增強可以提高性能。
要更新現有的應用程序,請設置靜態ObjectAuditProcessor. ExcludeNonPersistentFromAudit屬性設置為true。
v24.2中添加了新的擴展防范,使得使用XafApplication和IObjectSpaceFactory創建新的對象空間變得更加容易。
// v24.1.3 and earlier var os = Application.CreateObjectSpace(typeof(Person)); // v24.1.5+ and v24.2+ var os = Application.CreateObjectSpace<Person>();
如果您在ASP. NET Core 應用程序 (Web API Service控制器、自定義Razor組件等)中使用了IObjectSpaceFactory,請考慮v24.2中的以下小的突破性變化:。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網