Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Servicestack请求日期时间反序列化-如何使其忽略当前区域性?_C#_.net_Datetime_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack_Deserialization - Fatal编程技术网 servicestack,deserialization,C#,.net,Datetime,servicestack,Deserialization" /> servicestack,deserialization,C#,.net,Datetime,servicestack,Deserialization" />

C# Servicestack请求日期时间反序列化-如何使其忽略当前区域性?

C# Servicestack请求日期时间反序列化-如何使其忽略当前区域性?,c#,.net,datetime,servicestack,deserialization,C#,.net,Datetime,servicestack,Deserialization,Servicestack request datetime反序列化在我的本地机器上(使用丹麦语/地区)运行良好,但在生产服务器上不起作用,因为它具有英语文化 如何使其忽略当前文化? 这在当地起作用: ourdomain.dk/api/json/reply/LoadGuardBookView?日期=2014年7月24日 这在生产上起作用: ourdomain.dk/api/json/reply/LoadGuardBookView?日期=2014年7月24日 不同的文化数据格式。如何使用相同的代码使

Servicestack request datetime反序列化在我的本地机器上(使用丹麦语/地区)运行良好,但在生产服务器上不起作用,因为它具有英语文化

如何使其忽略当前文化?

这在当地起作用: ourdomain.dk/api/json/reply/LoadGuardBookView?日期=2014年7月24日

这在生产上起作用: ourdomain.dk/api/json/reply/LoadGuardBookView?日期=2014年7月24日

不同的文化数据格式。如何使用相同的代码使其在两者上工作?
调用来自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; } 
    }
}
公共类GuardBookService:服务,IGet
{
公共对象获取(LoadGuardBookView请求)
{
...
}
公共类LoadGuardBookView
{
公共日期时间日期{get;set;}
}
}
例外情况:

{“ResponseStatus”:{“ErrorCode”:“SerializationException”,“Message”:“可能” 未使用反序列化“*.LoadGuardBookView”请求 KeyValueDataContractDeserializer:“日期=24-07-2014”。\n错误: 'System.Runtime.Serialization.SerializationException: KeyValueDataContractDeserializer:转换为类型时出错:字符串为 无法识别为有效的日期时间。-->System.FormatException: 字符串未被识别为有效的日期时间。\r\n System.DateTime.Parse(字符串s,IFormatProvider, DateTimeStyles样式)\r\n位于 ServiceStack.Text.Common.DateTimeSerializer.ParseShortestXsdDateTime(字符串 dateTimeStr)\r\n位于 ServiceStack.Text.Common.DeserializeBuiltin
1.b_uuu(字符串
值)\r\n位于
ServiceStack.ServiceModel.Serialization.StringMapTypeDeserializer.PopulateFromMap(对象
实例,IDictionary
2个keyValuePairs,List
1
ignoredWarningsOnPropertyNames)\r\n---内部异常堆栈结束
跟踪---\r\n位于
ServiceStack.ServiceModel.Serialization.StringMapTypeDeserializer.PopulateFromMap(对象
实例,IDictionary
2个keyValuePairs,List
1
ignoredWarningsOnPropertyNames)\r\n位于
ServiceStack.ServiceModel.Serialization.KeyValueDataContractDeserializer.Parse(IDictionary
2 keyValuePairs,类型returnType)\r\n位于 ServiceStack.WebHost.Endpoints.Support.EndpointHandlerBase.DeserializeHttpRequest(类型 operationType,IHttpRequest httpReq,字符串contentType)“}”


我找到了一个在本地和生产环境下都适用的解决方案:

ourdomain.dk/api/json/reply/LoadGuardBookView?日期=2014-07-24


编辑:如注释所示-这是一种方法。(YYYY-MM-DD)

如果我们能看到您的代码,那会有所帮助。实际上没有相关代码可显示-但我会添加一些。。查看编辑查看我的编辑中的代码和异常。您是否尝试将其添加到web.config中<代码>可能servicestack尊重区域性设置。但是,如果您的浏览器正在发送另一种区域性格式,此问题将再次出现。最好的办法是强制jQuery发送
yyyy-MM-dd
,以便服务器端知道预期的内容。有关如何设置jQuery-datepicker区域性的信息,请参阅本文@mythz是正确的。也可以使用ISO标准“YYYY-MM-DD”格式。还有别的吗,你是在要求胃灼热。