Skip to content

Commit b1fe339

Browse files
author
Travis Nickels
committed
Update documentation
1 parent a9cc2ed commit b1fe339

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

nservicebus/upgrades/azure-functions-service-bus-in-process-isolated-worker.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,10 @@ class HttpSender
149149

150150
## Ensuring consistency in the Isolated Worker model
151151

152-
It's important to be able to maintain the consistency guarantees that were previously available in the in-process model when using `SendsAtomicWithReceive`. To achieve this, there are a few options:
152+
If `SendsAtomicWithReceive` was previously enabled in the in-process model (note that it is not enabled by default), maintaining that consistency guarantee in the isolated worker model may be important. However, achieving this consistency in the isolated worker model requires more than just adding an assembly attribute. To ensure consistency, consider the following options:
153153

154-
1. **Implement the [Outbox pattern](/architecture/consistency.md#transactions-outbox-pattern)** to enable consistent database and message queue operations. (Recommended)
155-
2. Ensure that all receiver message handlers are [idempotent](/architecture/consistency.md#idempotency).
156-
3. Ensure that the system infrastructure guarantees consistency between business data and messages.
154+
- **Implement the [Outbox pattern](/architecture/consistency.md#transactions-outbox-pattern)** to enable consistent database and message queue operations. (Recommended)
155+
- Ensure that all receiver message handlers are [idempotent](/architecture/consistency.md#idempotency).
157156

158157
### Using SendsAtomicWithReceive in the In-Process model
159158

@@ -165,8 +164,8 @@ In the in-process model, `SendsAtomicWithReceive` could be enabled by setting a
165164

166165
### Changes in the Isolated Worker model
167166

168-
However, in the isolated worker model, the `SendsAtomicWithReceive` attribute is not supported yet. Therefore, this setting needs to be removed from the assembly attribute.
167+
In the isolated worker model, the `SendsAtomicWithReceive` attribute is not supported. This is because the `Microsoft.Azure.Functions.Worker.Sdk` cannot natively manage transactions across the separate processes that run the function code and the host runtime. Unlike the in-process model, where the function code and the host runtime share the same process, making transaction management more feasible, the isolated worker model requires this setting to be removed from the assembly attribute.
169168

170169
```csharp
171170
[assembly: NServiceBusTriggerFunction("ASBFunctionEndpoint")]
172-
```
171+
```

0 commit comments

Comments
 (0)