Back to Devexpress

XPObjectSpaceProviderOptions.CustomCreateObjectSpaceProvider Property

expressappframework-devexpress-dot-expressapp-dot-applicationbuilder-dot-xpobjectspaceprovideroptions-4bb890ec.md

latest3.9 KB
Original Source

XPObjectSpaceProviderOptions.CustomCreateObjectSpaceProvider Property

Allows you to create a custom Object Space provider.

Namespace : DevExpress.ExpressApp.ApplicationBuilder

Assembly : DevExpress.ExpressApp.Xpo.v25.2.dll

NuGet Package : DevExpress.ExpressApp.Xpo

Declaration

csharp
public Func<CustomCreateObjectSpaceProviderContext, IObjectSpaceProvider> CustomCreateObjectSpaceProvider { get; set; }
vb
Public Property CustomCreateObjectSpaceProvider As Func(Of CustomCreateObjectSpaceProviderContext, IObjectSpaceProvider)

Property Value

TypeDescription
Func<CustomCreateObjectSpaceProviderContext, IObjectSpaceProvider>

A delegate that accepts an instance of CustomCreateObjectSpaceProviderContext and must return the custom Object Space provider.

|

Remarks

You can use this property to create a custom Object Space provider in WinForms, Blazor, and WebAPI applications that use Integrated Security or no security tier.

csharp
builder.ObjectSpaceProviders 
    .AddSecuredXpo((serviceProvider, options) => { 
        options.ConnectionString = ...; 
        options.EnablePoolingInConnectionString = ...; 
        options.ThreadSafe = ...; 
        // ... 
        var dataStoreProvider = XPObjectSpaceProvider.GetDataStoreProvider(options.ConnectionString, null, true); 
        options.CustomCreateObjectSpaceProvider = (context) => { 
            var selectDataSecurityProvider = context.ServiceProvider.GetRequiredService<ISelectDataSecurityProvider>(); 
            return new MyCustomObjectSpaceProvider(context.ServiceProvider, selectDataSecurityProvider, dataStoreProvider, ...); 
        }; 
    })
csharp
builder.ObjectSpaceProviders 
    .AddXpo((serviceProvider, options) => { 
        options.ConnectionString = ...; 
        options.EnablePoolingInConnectionString = ...; 
        options.ThreadSafe = ...; 
        // ... 
        var dataStoreProvider = XPObjectSpaceProvider.GetDataStoreProvider(options.ConnectionString, null, true); 
        options.CustomCreateObjectSpaceProvider = (context) => { 
            return new MyCustomObjectSpaceProvider(context.ServiceProvider, dataStoreProvider, ...); 
        }; 
    })

See Also

Custom Object Space Provider

XPObjectSpaceProviderOptions Class

XPObjectSpaceProviderOptions Members

DevExpress.ExpressApp.ApplicationBuilder Namespace