GDG-SPFx-Bridge 1.4.8Public API 1.0 · Browser/SPFx Protocol 3
Inside the Bridge

A controlled boundary between SharePoint Online and server-side .NET

The SharePoint runtime remains in the browser while application logic stays in .NET. The Bridge exchanges only semantic contracts and data, with verified origins and explicit routing.

Topology

Solution components

The SharePoint page uses a single Bridge Web Part and can host one or more Wisej Hosts, optionally alongside a Microsoft ListView and the dedicated Command Set.

ComponentNameResponsibility
Bridge singletonGDG-SPFx-BridgeSharePoint context, token, SPFx services, routing and cross-host distribution.
Host WebPartGDG Wisej HostHosts the Wisej iframe and registers applicationId, instanceName and webPartInstanceId.
Libreria .NETGDGSPFxBridge.dllSession-scoped Public API consumed by Wisej code.
Consumer applicationWisejSPFX / production appUI, CRUD, local routing and business logic.
List integrationGDG Wisej ListView Command SetListView state, selection, List Actions and application routes.
Logical architecture diagram
Architecture diagram from the technical guide: the boundary enforces exact origin, trustedWisejOrigins and fail-closed behavior.
Protocol and lifecycle

Asynchronous, bidirectional and traceable

Browser/SPFx protocol v3 uses window.postMessage. Host communication is correlated and includes timeouts, deduplication and end-to-end completion.

1

An event or route starts in SharePoint

A List Action, deep link, browser history event or application invocation produces a semantic route and its values.

2

The Bridge resolves the target

Dispatch can target all Hosts, an applicationId, or a specific applicationId/instanceName pair.

3

The .NET router interprets the data

SPFx does not know C# Pages, classes or methods. The Wisej router maps the semantic route name to application logic.

4

ACK end-to-end

ApplicationRouteCompleted returns an outcome: Handled, NotHandled, Failed, TimedOut or HostUnavailable.

List Action, application routing, Wisej Page flow
The same route can be triggered by a List Action, deep link, browser history or C# code.
Security boundary

SharePoint authentication, without parallel logins

The user token is obtained by SPFx through AadTokenProvider and delivered to the Wisej session; no ClientSecret, password, certificates or second login are required in the production flow.

Exact origin

event.origin and event.source are verified. Messages that can carry tokens do not use targetOrigin="*".

Token confinement

The token remains server-side in the Wisej session and must not be written to browser storage, databases, application cookies or logs.

Registered routes

Remote routes are semantic and explicitly registered. External URLs, ambiguous routes and non-convertible inputs are rejected fail-closed.

Safe diagnostics

Diagnostics.GetSnapshot() never exposes the AccessToken; technical logs use UTC ISO-8601 timestamps with milliseconds.

Supported contract

Capability-driven, without private APIs

The Bridge distinguishes its public contract from what Microsoft ListView actually allows through supported SPFx APIs.

CapabilityMicrosoft ListView sourceNotes
readStateSupported and validatedReturns the live state of the original source.
refreshNot exposedThe public ListViewAccessor does not expose a supported programmatic data refresh.
selectItemsNot exposedNo programmatic selection/focus is supported through the current public API.
DOM/private APINot usedThe core stays on public, supported APIs.
Practical consequence

After New/Edit/Delete, the List Web Part may remain visually stale until the user refreshes it manually. The demo avoids reloading the entire page so Hosts/ListView are not recreated and List Actions are not temporarily interrupted.