5

ServiceStack (Web サービス フレームワーク) で ServiceStack.Text を使用します。

に特定のタイプのカスタム シリアライゼーション ルートを追加しようとしていAppHost.Configure()ます。ただし、設定は適用されません/無視されます。

public AppHost : AppHostBase 
{
    ...

    public override void Configure(Container container)
    {
        //Register custom serialization routine
        ServiceStack.Text.JsConfig<CultureInfo>.SerializeFn = r => r.TwoLetterISOLanguageName;
        ServiceStack.Text.JsConfig<CultureInfo>.DeSerializeFn = r => return new CultureInfo(r);    
    }
}
4

1 に答える 1

7

ServiceStack.Text は、高速なパフォーマンスを実現するために内部で非常に頻繁にキャッシュしています。AppHost.Configure()ServiceStack は、が呼び出される前に既にキャッシュ作成プロセスを開始しています。

AppHost.Init()したがって、この問題を解決するには、 が呼び出される前に設定を登録する必要があります。

もちろん、これは ServiceStack.Text のすべての設定に必要なわけではありませんAppHost.Configure()。呼び出される前にキャッシュされる設定にのみ必要です。

于 2012-08-29T17:52:18.343 に答える