Скажем, у меня есть приложение, не предназначенное для .NET, которое должно записывать данные для десериализации приложения .NET через DataContractSerializer. Где спецификация, описывающая точный формат?Как обеспечить совместимость с DataContractSerializer при разговоре с не.NET-приложением?
Такая спецификация должна описывать много вещей, в том числе:
- ли порядок двойников элементов материи?
- Должно ли URI пространства имен xml всегда начинаться с
http://schemas.datacontract.org/2004/07/
? - do z: Id и z: значения значения должны быть секвенциальными или что-нибудь еще? (При условии,
preserveObjectReferences==true
) (ок, я думаю MSDN says this case is not even interoperable) - и т.д.
Похоже, простой вопрос, не так ли? Тем не менее, я не вижу, чтобы это касалось непосредственно в MSDN. (все, что я нашел, было forum-posts, заявив, что приложение не.NET должно сначала спросить приложение .NET для спецификационного файла WSDL. Но это кажется неправильным.)
(Я ничего не использую из WCF, кроме DataContractSerializer)
Правильно, вот что я делаю. Но просто взглянув на итоговый результат, я не могу знать ограничения *, которые мне нужно выполнить. Например, я могу видеть ' ' в XML, но означает ли это, что ' ' тоже сработало бы? Я перечислил другие примеры в вопросе. –
К сожалению, я изменил работу, поэтому я не могу смотреть на код, который я делал раньше, но помню, что, пока он был хорошо сформирован, он был довольно неприличным. Все, что я предлагаю, это то, что вы берете схемы, которые им нужны, из папки схемы в VisualStudio (C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Xml \ Schemas): – Bronumski
На самом деле схема для пространства имен http: // schemas ,microsoft.com/2003/10/Serialization/Arrays не там, где звонит звонок. Я думаю, что все, что я сделал, это создать ряд модульных тестов для действительно сложных сценариев и убедиться, что они сработали. По мере изменения графика вашего объекта просто обновляйте свои тесты. – Bronumski