IModelConnection
The frontend of an app does not open an iModel directly. Instead, it "connects" to an IModelDb that is managed by a backend through an
IModelConnection. IModelConnection
is an abstract class that encapsulates the IModelDb
on the frontend.
Various subclasses of IModelConnection are used depending on the type of connection:
CheckpointConnection is used for readonly web frontends connected over HTTP to Checkpoint iModels opened by cloud-based backends. A CheckpointConnection
is initiated via the static CheckpointConnection.openRemote method. Due to the stateless nature of HTTP connections, it is important to understand that the backend servicing calls to a CheckpointConnection
can change during a session, and requests may be directed to more than one backend at the same time. For this reason, CheckpointConnection
s may only use Checkpoint iModels, so identical copies of the checkpoint will be found on all equivalent backends.
A SnapshotConnection can be used for readonly connections to a Snapshot iModel. It uses RPC, so may be used from web or native applications.
A BriefcaseConnection may be used to connect to an editable BriefcaseDb. A BriefcaseConnection
connects to a dedicated backend through Ipc. That means to create a BriefcaseConnection
, the backend must have an active IpcHost and the frontend must have an active IpcApp. This will be true for NativeApps, the various MobileApp
s, and WebEditApps
.
You can create a BlankConnection to show Views from sources other than an iModel.
Last Updated: 15 June, 2021