-
Notifications
You must be signed in to change notification settings - Fork 200
Description
What version of .NET does your existing project use?
.NET 6
What version of .NET are you attempting to target?
.NET 8
Description
In the in-process model the RabbitMQ extension used an IAsyncCollector interface to send messages, injected into the function's Run method as a call parameter (this is still part of the official documentation). This allowed to use an Azure Function as SharePoint WebHook receiver, since registering a new SharePoint WebHook requires the function to return a validationToken as a simple string to the caller (SharePoint).
Now, the isolated model only supports the RabbitMQOutputAttribute which defines the return value of the function to be pushed to RabbitMQ without exception. By this design, the RabbitMQ extension became unusable in a SharePoint WebHook Azure Function using the recommended isolated worker model.
Am I missing something or is it actually not possible anymore to use the RabbitMQ extension in a SharePoint WebHook?
Project configuration and dependencies
This is our current mid-migration .NET 8 .csproj file:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
<OutputType>Exe</OutputType>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>disable</Nullable>
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="2.23.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="2.0.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="2.1.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.3.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version="2.0.2" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.RabbitMQ" Version="2.1.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="2.0.5" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Using Include="System.Threading.ExecutionContext" Alias="ExecutionContext" />
</ItemGroup>
</Project>
`
### Link to a repository that reproduces the issue
_No response_