Mam klasę oznaczoną [Serializable]. Kiedy zwrócę go z Web API, wszystkie nazwy pól są funky.ASP.NET Web API i [Serializable] klasa
Zwykle JSON zwrócony jest
[{"OrderId":797 ...
JSON zwrócona przy użyciu [Serializable]
[{"<OrderId>k__BackingField":797 ...
I wa, aby zaznaczyć, że serializacji użyć BinaryFormatter buforowania. Czy jest jakiś inny sposób niż napisanie niestandardowego serializera lub stworzenie bliźniaczej klasy, która nie jest możliwa do serializacji i napisanie małpiego kodu do "rzucania" pomiędzy tymi dwoma?
w jaki sposób formatator binarny pomaga w buforowaniu? – DarthVader
Zamówienia są realizowane z zewnętrznego systemu, a uzyskanie wszystkich zamówień od zera na dzień za pośrednictwem interfejsu API zajmuje 10 sekund. Znacznie szybciej można uzyskać zamówienia między ostatnio zapisaną datą w pamięci podręcznej i bieżącą datą, zapisać je w pamięci podręcznej, a następnie zwrócić pełną listę. – Malako
To jest ograniczenie z JSON.net [domyślna biblioteka serializacji JSON używana w Web API]. Zobacz: http://stackoverflow.com/questions/10143420/why-does-json-net-serialization-fail-with-serializable-and-a-ambambda-inside-a-r. Możesz spróbować użyć najnowszej wersji JSON.NET lub znaleźć inny sposób buforowania rzeczy. – Suhas