WCF:有没有办法根据http Accept-Language标头返回不同的日期时间序列化?

时间:2009-12-01 20:31:30

标签: c# wcf internationalization wcf-rest

我希望我的REST服务将DateTime返回为:

  • 01- dec -2009 for Accept-Language:en-US
  • 01- dez -2009 for Accept-Language:pt-BR

谢谢!

AndréCarlucci

2 个答案:

答案 0 :(得分:0)

您如何序列化这些日期时间?

在我看来它们已被转换为字符串,在这种情况下,您应该能够检查Request.UserLanguages属性并将适当的CultureInfo注入到普通的string.Format()调用中。

标准XML序列化程序使用与文档无关的格式here

dateTime以下列形式“YYYY-MM-DDThh:mm:ss”指定,其中:

  • YYYY表示年份
  • MM表示月份
  • DD表示当天
  • T表示所需时间段的开始
  • hh表示小时
  • mm表示分钟
  • ss表示第二个

请注意,这些应该是UTC格式。

答案 1 :(得分:0)

我认为“序列化”意味着“将某些内容转换为文本格式以进行交换/存储”,而不是呈现给人类读者。

根据此定义,它必须与语言无关,并遵循XML序列化约定或ISO 8601或CultureInfo :: InvariantCulture。另请参阅http://www.mihai-nita.net/article.php?artID=20051025a

如果我们不称之为“序列化”,那么