1

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 的 CloudStorageProviders 实现中的运行时。任何指导都会有所帮助。谢谢你。

4

1 回答 1

0

查看 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。您必须明确注册所有这些才能完全覆盖现有注册。

于 2012-05-28T12:12:36.323 回答