Wire up an InteractionServer that initializes an InvocationContext earlier than the cluster API supports.
This is necessary for attributes because the ClusterServer attribute APIs are synchronous while transaction
management is asynchronous.
It's not necessary for command handling because that API is entirely async. We do it here, however, just for the
sake of consistency.
This could be integrated directly into InteractionServer but this further refactoring is probably warranted there
regardless. This keeps the touch light for now.
Wire up an InteractionServer that initializes an InvocationContext earlier than the cluster API supports.
This is necessary for attributes because the ClusterServer attribute APIs are synchronous while transaction management is asynchronous.
It's not necessary for command handling because that API is entirely async. We do it here, however, just for the sake of consistency.
This could be integrated directly into InteractionServer but this further refactoring is probably warranted there regardless. This keeps the touch light for now.