我将ServiceStack.Text与ServiceStack(Web服务框架)一起使用。
我正在尝试为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);
}
}
答案 0 :(得分:7)
ServiceStack.Text在内部进行非常大的缓存以实现快速性能。 ServiceStack在调用AppHost.Configure()
之前已经开始了缓存创建过程。
因此,要解决此问题,您需要在调用AppHost.Init()
之前注册您的设置。
当然,ServiceStack.Text中的所有设置都不需要这样做 - 只有在调用AppHost.Configure()
之前缓存的设置才需要它。