Azure Function 进程内(in-process)模型迁移到独立辅助角色(isolated worker)模型(1)序列化

基于.net8 的迁移

由[OrchestrationTrigger] TaskOrchestrationContext context 调用 [ActivityTrigger] (string str1, string str2, int n1, int n2) input 的时候使用默认的序列化反序列化库System.Text.Json可能会不成功,也就是Activity函数的入参和返回结果如果是元组类型的情况下,不能完全序列化,入参元组各项值为null,返回的元组各项也为null。
有两种方法解决:
1.Program里设置解析器

builder.Services.Configure<JsonSerializerOptions>(options =>
{
    options.IncludeFields = true;
});
builder.Services.Configure<WorkerOptions>(workerOptions =>
{
    var jsonSerializerOptions = builder.Services.BuildServiceProvider().GetRequiredService<IOptions<JsonSerializerOptions>>().Value;
    workerOptions.Serializer = new JsonObjectSerializer(jsonSerializerOptions);
});

2.为入参和返回值元组重新定义record或者class

        public record InputParam(string str1, string str2, int n1, int n2);
        public record OutputParam(string str1, string str2);
posted @ 2026-05-08 15:56  Cyber9527  阅读(4)  评论(0)    收藏  举报