ServiceStack.Text JsConfig全局更改

时间:2016-01-15 11:22:05

标签: servicestack servicestack-text

有没有办法避免全局JsConfig更改?

我只想在序列化json时自定义配置,不要影响其他地方。

JsConfig.AlwaysUseUtc = true;
JsConfig.ExcludeTypeInfo = true;

JsConfig<DateTime>.RawSerializeFn = (DateTime time) =>
{
    return string.Format(CultureInfo.InvariantCulture, "\"{0}\"", time.ToString("yyyy-MM-dd HH:mm:ss,fff"));
};
JsConfig<DateTime?>.RawSerializeFn = (DateTime? time) =>
{
    if (time.HasValue)
        return string.Format(CultureInfo.InvariantCulture, "\"{0}\"", time.Value.ToString("yyyy-MM-dd HH:mm:ss,fff"));
    return "null";
};

// avoid loss of precision
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER
JsConfig<long>.RawSerializeFn = (long num) =>
{
    if (num > 9007199254740991L || num < -9007199254740991L)
        return string.Format( CultureInfo.InvariantCulture, "\"{0}\"", num);
    return num.ToString();
};

1 个答案:

答案 0 :(得分:4)

您可以使用静态$urlRouterProvider.when('', '/dashboard'); 方法指定更改范围。

有关示例,请参阅4.0.48 Release Notes。只需使用第二种形式,如下所示:

JsConfig.With(...)