【发布时间】:2010-12-22 04:07:29
【问题描述】:
我希望我的 REST 服务将 DateTime 返回为:
- 01-dec-2009 接受语言:en-US
- 01-dez-2009 接受语言:pt-BR
谢谢!
安德烈·卡鲁奇
【问题讨论】:
标签: c# wcf internationalization wcf-rest
我希望我的 REST 服务将 DateTime 返回为:
谢谢!
安德烈·卡鲁奇
【问题讨论】:
标签: c# wcf internationalization wcf-rest
我认为“序列化”是指“将某些内容转换为文本格式以进行交换/存储”,而不是呈现给人类读者。
根据这个定义,它必须与语言无关,并且遵循 XML 序列化约定、ISO 8601 或 CultureInfo::InvariantCulture。另见http://www.mihai-nita.net/article.php?artID=20051025a
如果我们不称之为“序列化”,那么
【讨论】:
你是如何序列化这些日期时间的?
在我看来它们已被转换为字符串,在这种情况下,您应该能够检查 Request.UserLanguages 属性并将适当的 CultureInfo 注入到普通的 string.Format() 调用中。
标准 XML 序列化程序使用与文化无关的格式,解释为 here:
dateTime 以以下形式指定“YYYY-MM-DDThh:mm:ss”,其中:
请注意,这些应该是 UTC。
【讨论】:
WebOperationContext.Current.IncomingRequest.Headers 以查看传入请求的标头。