好的,所以这记录很差,很难追踪。如果您创建使用 csx 的函数,则 FUNCTIONS_EXTENSION_VERSION 设置为 1。您需要将其设置为 2 或 3 以便在函数上设置会话 ID。然后你需要上传一个function.proj文件。我发现你上传的文件是空的,你只是在设置一个名字。然后你需要把它粘贴进去
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.ServiceBus" Version="5.1.0" />
</ItemGroup>
</Project>
完成此操作后,您将能够访问所需的 DLL,如下所示:
#r "bin\\Microsoft.Azure.ServiceBus"
using Microsoft.Extensions.Logging;
using Microsoft.WindowsAzure.Storage.Queue;
现在您可以为服务总线创建触发器,如果您的方法不是异步的,您可以将 Message 设置为输出参数。文档说如果您没有为此属性设置值,则不会发送任何消息,但当然它是一个输出参数,所以您必须这样做。
您可以将字节数组传递给消息正文的构造函数,如下所示:
new Message(Encoding.Unicode.GetBytes(JsonConvert.SerializeObject(requestBody)));
您的消息具有 SessionId 属性。而已。设置 SessionId 就完成了。