Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/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# 基于路由或类型的动态契约解析器_C#_Json_Asp.net Mvc 4_Serialization_Json.net - Fatal编程技术网

C# 基于路由或类型的动态契约解析器

C# 基于路由或类型的动态契约解析器,c#,json,asp.net-mvc-4,serialization,json.net,C#,Json,Asp.net Mvc 4,Serialization,Json.net,对于我正在处理的一个项目,我想将序列化对象的属性转换回客户端JavaScript。我可以在应用程序启动时执行一次(例如,在global.asax.cs中)。这适用于我希望在整个web应用程序中实现这种行为的情况 问题是,web应用的许多领域正在被其他尚未将JavaScript转换为使用惯用camelCasing(他们使用的是非传统的PascalCase)的团队开发 当CamelCasePropertyNameContractResolver的签名只有一个名称参数时,如何创建通过默认Json.NE

对于我正在处理的一个项目,我想将序列化对象的属性转换回客户端JavaScript。我可以在应用程序启动时执行一次(例如,在
global.asax.cs
中)。这适用于我希望在整个web应用程序中实现这种行为的情况

问题是,web应用的许多领域正在被其他尚未将JavaScript转换为使用惯用camelCasing(他们使用的是非传统的PascalCase)的团队开发

CamelCasePropertyNameContractResolver的签名只有一个名称参数时,如何创建通过默认Json.NET实现序列化的协定解析程序:

protected override string ResolvePropertyName(string propertyName)
{
    return propertyName;
}

当我需要它的时候,骆驼箱?简而言之,如果有解决方案,它将需要某种上下文(例如,路由、被序列化的类型的名称空间等)和某种在契约解析器中访问该上下文的方法

可能的副本不是副本。我正在寻找上下文感知的东西,上下文可以基于URL、类型或其他内容。您提到的问题涉及到了机制,但没有上下文意识。将上下文作为参数添加到默认构造函数中不会有效果吗?A将处理上下文切换。除了在
Global.asax.cs
中的所有请求之前构造一次冲突解决程序外,这将起作用,因此没有上下文可用。