有关如何在 Lokad.Cloud 中切换默认序列化程序的指南

本文关键字:序列化 默认 程序 Cloud Lokad | 更新日期: 2023-09-27 18:35:31

http://code.google.com/p/lokad-cloud/wiki/Serialization

我一直在尝试交换 Lokad.Cloud 中的默认序列化。 我已经尝试了以下方法:

public class ServiceWebModule : Module
{
    public string AzureConnectionString { get; set; }
    protected override void Load(ContainerBuilder builder)
    {
        builder.Register(CloudStorageProviders).InstancePerLifetimeScope();
    }
    CloudStorageProviders CloudStorageProviders(IComponentContext c)
    {
        return CloudStorage
            .ForAzureConnectionString(AzureConnectionString)
            .WithDataSerializer(new SuperDuperJsonSerializer())
            .BuildStorageProviders();
    }
}

此模块在加载 lokad 云存储模块后加载,我正在尝试用我自己的模块覆盖 Azure 的云存储提供程序实现中的运行时。 任何指导都会有所帮助。 谢谢。

有关如何在 Lokad.Cloud 中切换默认序列化程序的指南

查看 lokad 源StorageModule

builder.Register(BlobStorageProvider);
builder.Register(QueueStorageProvider).OnRelease(queues => queues.AbandonAll());
builder.Register(TableStorageProvider);
builder.Register(CloudStorageProviders).OnRelease(storage => storage.QueueStorage.AbandonAll());

除了注册CloudStorageProviders类型外,每个特定的提供者(ITableStorageProviderIBlobStorageProviderIQueueStorageProvider)也被注册。您必须显式注册所有这些,以便完全覆盖现有注册。