Преобразование информации о типе, предоставляемой upshot js, в информацию, требуемую JSON.NET при отправке через веб-интерфейс - PullRequest
1 голос
/ 21 марта 2012

Я пытаюсь использовать ASP.NET MVC 4 beta вместе с JSON.NET. Я использую upshot, чтобы поговорить с веб-API. Однако, когда upshiot выполняет отправку, он отправляет информацию о типе в наборе изменений как (например, "__type":"EquipmentClass:#RXSteps.StepModel.Equipment" вместо "$type":"RXSteps.StepModel.Equipment.EquipmentClass, RXSteps.StepModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", чего и хочет JSON.NET.

на данный момент я взломал upshot с encodedChangeSet= encodedChangeSet.replace(/"__type":"EquipmentClass:#RXSteps.StepModel.Equipment"/g, '"$type":"RXSteps.StepModel.Equipment.EquipmentClass, RXSteps.StepModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"');

Однако я хотел бы знать, как я могу сделать это в общем виде для любого типа.

большое спасибо

1 Ответ

1 голос
/ 22 марта 2012

Я бы создал ваш собственный UpshotJSONMediaTypeFormatter и сделал там конвертацию. У Хенрика есть пост об использовании средства форматирования медиа-типов JSON.NET здесь . Я бы просто настроил метод OnReadFromStreamAsync, чтобы выполнить его замену перед десериализацией.

...