Article For
2.0 2.5 3.5

Listeners: What are query listeners and how to work with them?

The reason we have document query listeners is to apply query customizations globally. In order to do this the user need to create their own implementation of the IDocumentQueryListener.

public interface IDocumentQueryListener
	/// <summary>
	/// Allow to customize a query globally
	/// </summary>
	void BeforeQueryExecuted(IDocumentQueryCustomization queryCustomization);


If we want to disable caching of all query results, you can implement DisableCachingQueryListener which will add NoCaching customization to each performed query.

public class DisableCachingQueryListener : IDocumentQueryListener
	public void BeforeQueryExecuted(IDocumentQueryCustomization customization)