To improve the performance WebObjectListView you can add caching custom extended restrictions.
You can use the technological type NewPlatform.Flexberry.Services.AdvLimitManagerCacheDecorator
that adds caching to any other seris as follows:
// Global.asax / Application_Start
var decorable = new DefaultAdvLimitManager(BridgeToDS.GetDataService());
var cache = new InternalCacheService();
AdvLimitManager.Current = new AdvLimitManagerCacheDecorator(decorable, cache);
Or you can use the Unity configuration section.
Connection caching settings and functions limitations
In order to have database queries once again not carried out need to set the current UserSettingsService
.
Example:
// Service settings of the user.
if (container.IsRegistered<IUserSettingsService>())
UserSettingsService.Current = container.Resolve<IUserSettingsService>();
else
LogService.LogWarn("IUserSettingsService is not configured in Unity. Will use the default implementation.");
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<!-- ... -->
<!-- The service configuration custom settings and enabled caching. -->
<register name="DecorableUserSettingsService" type="IcsharpSoft.Services.IUserSettingsService, UserSettingsService" mapTo="IcsharpSoft.Services.UserSettingsService, UserSettingsService">
<lifetime type="singleton" />
<constructor />
</register>
<register name="CacheForUserSettingsService" type="NewPlatform.Flexberry.Services.ICacheService, IcsharpSoft.STORMNET.Web.Tools" mapTo="NewPlatform.Flexberry.Services.InternalCacheService, IcsharpSoft.STORMNET.Web.Tools">
<lifetime type="singleton" />
</register>
<register type="IcsharpSoft.Services.IUserSettingsService, UserSettingsService" mapTo="NewPlatform.Flexberry.Services.UserSettingsServiceCacheDecorator, IcsharpSoft.STORMNET.Web.Tools">
<lifetime type="singleton" />
<constructor>
<param name="decorable" dependencyName="DecorableUserSettingsService" />
<param name="cache" dependencyName="CacheForUserSettingsService" />
</constructor>
</register>
<!-- ... -->
</unity>
You can do without Unity and install UserSettingsService.Current
software.