v1.8.1: Remoting/application-server improvements

  Subscribe
9/12/2012 - Marco (updated on 11/13/2017)

The summary below describes major new features, items of note and breaking changes. The full list of issues is also available for those with access to the Encodo issue tracker.

Highlights

  • The internals of the data driver have been rewritten to include separate analysis, caching, retrieval and local-evaluation handlers
  • The remoting driver is now a data handler instead of a low-level driver based on a database API (that never quite fit)
  • Data-caching improvements
  • (Almost) all singletons and creator functions have been moved to the service locator
  • All configuration has been integrated into the standard application startup
  • Improved schema-check performance over WAN by storing a hash of the model with the Quino metadata
  • Upgraded to DevExpress 12.2
  • Upgraded to MVC 4

Breaking changes

  • Most IQuery, IQueryTable and IQueryCondition (e.g. Where, OrderBy and Join) methods have moved from the interfaces to extension methods. Include the Encodo.Quino.Data.Persistence.Queries namespace to fix compile errors.
  • Namespace, Operation and descendents have been moved from Encodo.Expressions to the Encodo.Expressions.Operations namespace
  • NamespaceTools => OperationTools
  • SerializerTools has been renamed to MetaSerializerTools
  • ExpressionParserFactory has been removed; instead, use ServiceLocator.Current.GetInstance<IExpressionParser>().

| Warning |

This means that you have to regenerate metadata-based classes and code before doing anything else. That is, download Quino, build and deploy it and then regenerate your application's metadata-based code before doing anything else.

  • MetaExpressionTools no longer exists; use ServiceLocator.Current.GetInstance<IExpressionFactory>() to get MetaExpressionTools.ExpressionFactory instead.
  • ContentTypeRegistry.GetSystemIconFromPath() has moved to ShellTools.GetSystemIconFromPath() and the return type is now an Image rather than a Bitmap
  • The API for the IConfigurationActionProvider{TApplication} has changed. Instead of overriding StartupActions and ShutdownActions, override Apply instead. Also, ConfigurationActionProviderTools.AddActions() has been renamed to Integrate().
  • The RemoteClientFactory singleton has been moved to the service locator, so use MetaConfigurationTools.IntegrateRemoting() to include remoting instead of RemoteClientFactory.Instance = new RemoteClientFactoryAuto();
  • ControlAssignmentFactory.Instance no longer exists; instead, retrieve the instance from the service locator: ServiceLocator.Current.GetInstance<IWinformControlAssignmentFactory>()
  • CultureManager.Instance no longer exists; instead, retrieve the instance from the service locator: ServiceLocator.Current.GetInstance<ICultureManager>()
  • EncodoTestingTools and QuinoTestingTools have been moved to the Encodo.Testing.NUnit and Quino.Testing.NUnit assemblies respectively.
  • DisplayLanguageChangedMessage no longer exists; instead all language synchronization has been moved to the CultureManager. Use the CultureManagerTools.RegisterComponent() method to receive notifications when the language changes.
  • The Conf key in the LocationManager has been renamed to Configuration; any configuration files that used the old name should be updated to use the new one instead.

Sign up for our Newsletter