服务栈请求日期时间反序列化-如何使其忽略当前区域性
本文关键字:何使其 区域性 请求 日期 时间 反序列化 服务 | 更新日期: 2023-09-27 18:14:44
Servicestack请求日期时间反序列化在我使用丹麦语言/地区的本地机器上工作得很好-但在生产服务器上无法工作,因为它具有英语文化。
如何使其忽略当前文化?
This works local:ourdomain.dk/api/json/回复/LoadGuardBookView吗?日期= 24/07/2014
这适用于生产环境:ourdomain.dk/api/json/回复/LoadGuardBookView吗?日期= 07/24/2014
不同的区域性日期格式。如何使它的工作都与相同的代码?
调用来自javascript,所以我手头没有文化。
编辑1:
var date = $.datepicker.formatDate("d/m/yy", $("#calendar").datepicker("getDate"));
$.get("/api/json/reply/LoadGuardBookView", {
Date: date
}, function (data) {
...
}).fail(function (e) {
...
console.log("Error reloading GuardBook");
});
服务器:public class GuardBookService : Service, IGet<LoadGuardBookView>
{
public object Get(LoadGuardBookView request)
{
...
}
public class LoadGuardBookView
{
public DateTime Date { get; set; }
}
}
异常:{"ResponseStatus":{"错误代码":"SerializationException"、"消息":"可以不要反序列化"*"。LoadGuardBookView请求使用KeyValueDataContractDeserializer:"日期= 24-07-2014"。' nError:"System.Runtime.Serialization.SerializationException:KeyValueDataContractDeserializer:转换类型错误:String was不能识别为有效的日期时间。——>系统。FormatException:字符串未被识别为有效的日期时间。' r ' nSystem.DateTime。解析(字符串s, IFormatProvider;DateTimeStyles样式)'r'n atServiceStack.Text.Common.DateTimeSerializer.ParseShortestXsdDateTime(字符串dateTimeStr) ' r ' nServiceStack.Text.Common.DeserializeBuiltin
1.<GetParseFn>b__b(String value)'r'n at ServiceStack.ServiceModel.Serialization.StringMapTypeDeserializer.PopulateFromMap(Object instance, IDictionary
2 keyValuePairs, List1 ignoredWarningsOnPropertyNames)'r'n --- End of inner exception stack trace ---'r'n at ServiceStack.ServiceModel.Serialization.StringMapTypeDeserializer.PopulateFromMap(Object instance, IDictionary
2 keyValuePairs, List1 ignoredWarningsOnPropertyNames)'r'n at ServiceStack.ServiceModel.Serialization.KeyValueDataContractDeserializer.Parse(IDictionary
keyValuePairs, Type(返回类型)'r'n atServiceStack.WebHost.Endpoints.Support.EndpointHandlerBase.DeserializeHttpRequest(类型operationType, IHttpRequest, httpReq, String contentType)'"}}
我找到了一个既适用于本地又适用于生产的解决方案:
ourdomain.dk/api/json/回复/LoadGuardBookView吗?日期= 2014-07-24
Edit:如注释所述-这是这样做的。(YYYY-MM-DD)