Click or drag to resize

IUserSession Interface


Represents a communication session used to retrieve objects from the content store. It is also the place to get all manager instances.

Namespace: Ingeniux.CMS
Assembly: Ingeniux.CMS.CSAPI (in Ingeniux.CMS.CSAPI.dll) Version: 10.6.492
Syntax
public interface IUserSession : IManagersHost, 
	IInstanceLogger, IDisposable

The IUserSession type exposes the following members.

Properties
 NameDescription
Public propertyClosed Checks if this session was already closed.
Public propertyContentFreezeStartingTime Gets the time when content freeze is about to start. Null if no content freeze looming.
Public propertyContext Holds the user session context
Public propertyCustomMessenger Instance of a CustomHookPushMessenger used to push messages to clients
Public propertyGlobalExports Gets the definition of exports that will be included as attributes in every link and navigation entry.
(Inherited from IManagersHost)
Public propertyGlobalVariables Gets the collection of global variables.
(Inherited from IManagersHost)
Public propertyId Gets the unique ID of this session.
Public propertyIP The IP address this session was created for. Could be null if request is from http access
Public propertyIsDebugEnabled Returns if the current logging instance has debug level enabled.
(Inherited from IInstanceLogger)
Public propertyLingualMappingManager Gets the manager of lingual maps between pages within a specific locale.
(Inherited from IManagersHost)
Public propertyLocalesManager Gets the manager of built-in locales and custom locales.
(Inherited from IManagersHost)
Public propertyLoggingManager Gets the manager of publishing logs and replication logs
(Inherited from IManagersHost)
Public propertyMobileDeviceManager Gets the manager of device bundles for mobile preview emulation.
(Inherited from IManagersHost)
Public propertyOperatingUser Gets the user who owns this session.
Public propertyPageCreationRulesManager Gets the manager of page creation rules.
(Inherited from IManagersHost)
Public propertyPresentationsManager Gets the presentations manager for managing presentation content units
(Inherited from IManagersHost)
Public propertyPublishingManager Gets the manager of publishing targets and publishing profiles
(Inherited from IManagersHost)
Public propertyReferencesManager Gets the manager of references between pages.
(Inherited from IManagersHost)
Public propertySchemasManager Gets the manager of schemas.
(Inherited from IManagersHost)
Public propertySettings Gets the CMS settings collection.
(Inherited from IManagersHost)
Public propertySite Gets the manager of pages, page versions, and pages tree structure.
(Inherited from IManagersHost)
Public propertySiteContentLocalizationProvider Gets the manager of translations of page creation rules, schemas, workstates and workflow definitions.
(Inherited from IManagersHost)
Public propertySiteMap Gets the manager of branding types like sites and user agents
(Inherited from IManagersHost)
Public propertyStartTime Gets the time that this session was opened.
Public propertyTaxonomyManager Gets the manager of category nodes as well as their structure.
(Inherited from IManagersHost)
Public propertyTransactions Gets a generic Transactional Entity to run reduced and other read-only queries.
(Inherited from IManagersHost)
Public propertyUnmanagedAssetManager Gets the unmanaged asset manager for handling legacy unmanaged assets on disk
(Inherited from IManagersHost)
Public propertyUserManager Gets the manager of users, user groups, and group roles for custom permissions collections.
(Inherited from IManagersHost)
Public propertyWorkflowAdministrator Gets the manager of workflow definitions, workstates, and workflows
(Inherited from IManagersHost)
Top
Methods
 NameDescription
Public methodCountTObsolete.
Gets the count of query results
Public methodDebug Log a message at the Debug level
(Inherited from IInstanceLogger)
Public methodError Log a message at the Error level
(Inherited from IInstanceLogger)
Public methodExists Checks whether an object with given unique ids exists or not
Public methodGetT Retrieves an Entity object from the Content Store by its unique ID
Public methodGetDocumentsRawT Retrieves from the content store by unique ID a collection of documents.
Public methodGetEntitiesT, TManager Retrieves from the content store by unique ID a collection of entities that implements the IEntityTManager interface.
Public methodGetEntityT, TManager Retrieves by unique ID from the content store an entity object that implements the IEntityTManager interface.
Public methodGetManagerT Retrieves a transactional manager that can be used to manipulate entities in the session.
Public methodInfo Log a message at the Info level
(Inherited from IInstanceLogger)
Public methodListT Creates a RavenDB IRavenQueryable instance of the specified collection type
Public methodLog Log a message at the specified log level
(Inherited from IInstanceLogger)
Public methodCode exampleLuceneQueryAllT, TIndex

Queries the content store using Lucene query syntax, returning a collection of objects of the given type.

The CSAPI creates indexes in the content store to expedite object lookup. The CSAPI comes with a set of indexes for its basic functionality. All strong-typed queries go through this method. Additional custom indexes can be created to provide further flexibility on fast lookup. Please refer to the Indexing topic for more information on indexes and custom indexes.

Public methodLuceneQueryCountT, TIndex Queries the content store using Lucene query syntax and returns the count of results.
Public methodQueryT, TIndex

Queries the content store and returns a collection of objects of a given type. The query is based on the type of index provided.

The CSAPI creates indexes in the content store to expedite object lookup. CSAPI comes with a set of indexes for its basic functionality. All strong-typed queries go through this method. Additional custom indexes can be created to provide even further flexibilities on fast lookup. Please refer to the Indexing topic for more information on indexes and custom indexes.

Public methodStreamQueryAllT, TIndex

Queries the content store using a LINQ expression, returning a collection of objects of the given type.

The CSAPI creates indexes in the content store to expedite object lookup. The CSAPI comes with a set of indexes for its basic functionality. All strong-typed queries go through this method. Additional custom indexes can be created to provide further flexibility on fast lookup. Please refer to the Indexing topic for more information on indexes and custom indexes.

Public methodWarn Log a message at the Warn level
(Inherited from IInstanceLogger)
Top
Exceptions
ExceptionCondition
ArgumentExceptionWhen any objects retrieved within a read-only UserSession are modified.
Remarks

Objects retrieved within the session are only usable before the session is disposed. Their methods do not work outside the created session, and their properties are not guaranteed to work outside of the created session.

UserSessions are created from a persisting ContentStore object via the method OpenReadSession(IReadonlyUser). The best way to open a UserSession, and to make sure it is closed properly, is with a "using" statement:

Example
C#
using (IUserSession session = store.OpenReadSession(currentUser))
{
    ...
}

Objects retrieved via UserSession are read-only. An error is thrown upon closing the session if any of the objects were updated.

If the objects are intended to be changed, use the UserWriteSession object.

See Also