좋아, 내가 본 것 중 가장 이상한 .net 프로그래밍 문제입니다. 객체 필드는 .net 웹 서비스에서 필드 초기화 순서대로 직렬화 된 것처럼 보입니다.SOAP 개체에 대한 LINQ to SQL 직렬화 문제
모두 Flex에서 시작하여 .net 웹 서비스의 SOAP 응답을 허용하지 않습니다. 직렬화 된 필드의 순서가 선언 된 직렬화 가능 클래스의 필드 순서를 통계 화하는 것이 원인이라는 것을 알게되었습니다.
일반 목록 및 LINQ to SQL과 관련이 있지만 무엇을 찾을 수 없습니다. 이것은 재현하기가 정말로 어렵습니다. 목록하며 한번 더 반복했다 이제
var r = (from ...... select new SomeSample { A = 1, C = 3 }).ToList();
: 내가 LINQ를 사용하고 SomeSample 객체의리스트를 돌려 ASMX 웹 서비스 내에서 일부 데이터 테이블을 질의했다
[Serializable]
public class SomeSample
{
public int A;
public int B;
public int C;
}
:
예는 아이디어를 얻을 수 있습니다 B 필드는 약간의 값으로 적용되었다 (예 2).
<A>1</A><C>3</C><B>2</B>
직렬화의 순서를주의하십시오
그러나 반환 된 비누 봉투는 다음 발췌가 포함되어 있습니다. 처음에 모든 필드를 초기화 한 경우 :var r = (from ...... select new SomeSample { A = 1, B = 2, C = 3 }).ToList();
개체가 올바른 순서로 직렬화되었습니다.
두 경우 모두 디버거가 "r"변수와 정확히 동일한 내용을 보여줍니다.
내 마음이 상실 되나요? 아니면 정상적인 행동입니까?
미리 감사드립니다.