expressappframework-devexpress-dot-expressapp-dot-applicationbuilder-dot-xpobjectspaceprovideroptions-4bb890ec.md
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
public Func<CustomCreateObjectSpaceProviderContext, IObjectSpaceProvider> CustomCreateObjectSpaceProvider { get; set; }
Public Property CustomCreateObjectSpaceProvider As Func(Of CustomCreateObjectSpaceProviderContext, IObjectSpaceProvider)
| Type | Description |
|---|---|
| Func<CustomCreateObjectSpaceProviderContext, IObjectSpaceProvider> |
A delegate that accepts an instance of CustomCreateObjectSpaceProviderContext and must return the custom Object Space provider.
|
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.
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, ...);
};
})
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
XPObjectSpaceProviderOptions Class