Breaking Change T1156798
Visible to All Users

Security.MiddleTier - The WebApiMiddleTierClientSecurity constructor got an additional parameter of the IServiceProvider type

What Changed

The WebApiMiddleTierClientSecurity constructor now has an additional parameter of the IServiceProvider type:

C#
public WebApiMiddleTierClientSecurity(WebApiSecuredDataServerClient webApiSecuredClient, IServiceProvider serviceProvider)

Reasons for Change

This change has been made to address the following issue: T1147982 - Security.Blazor - "ValueManagerContext.Storage is null" error occurs when a custom function criteria operator is not processed by the SecurityFunctionPatcher logic.

Impact on Existing Apps

This change would affect your project if you added a Middle Tier Server to an existing XAF WinForms application. If you used the XAF application builder to set up an XAF WinForms application, or if you used XAF Solution Wizard for v22.1 or later to create a new XAF WinForms application with a Middle Tier Server, this change should not affect you in any way.

How to Update Existing Apps

  • If you are creating a WebApiMiddleTierClientSecurity object manually, as described in the Middle Tier Server article, no security services will be created, and security events (for example, OnCustomizeSecurityCriteriaOperator) will not be available. In this case, IServiceProvider is not required. Note, however, that in this case, IServiceProvider will not be available through the Session.ServiceProvider property within the business object implementation on the client side.

  • Use the XAF application builder to set up an XAF WinForms application.

See Also

Core - ValueManager API availability and deprecated static helpers in XAF .NET 6+ apps (Blazor, Web API Service, WinForms).

Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.