2009-05-22 3 views
3

.Net 2.0 용으로 설정 한 웹 서비스에서 HashTable을 반환 할 수 있었지만 서비스가 JSON에서 DataTable을 다시 가져 오지 못했습니다. 다음 오류가 발생합니다. '개체를 serialize하는 동안 순환 참조가 검색되었습니다.' 어떤 팁?.Net Web Service에서 DataTable을 반환하는 방법?

[WebMethod(EnableSession = true) ] 
public DataTable getSavedAddresses() 
{ 
    DataTable dt = new DataTable(); 
    if (Session["ClientID"] != null) 
    { 
     int clientId = Convert.ToInt32(Session["ClientID"]); 
     dt = Address.GetClientShippingAddresses(clientId); 
    } 
    return dt; 

}

답변

1

순환 참조는 Columns 속성을 갖는 기인 DataTable 가능성 각 DataColumn 목적은 Table 특성을 갖는다.

this blog post by Rick Strahl에있는 정보는 아마도 도움이 될 것입니다.

+0

흥미 롭습니다. 그래, 나는 그것을 읽었지 만 나는 그것을 알 수 없었다. – GreenEggs

+0

XML을 대신 사용해 보겠습니다. – GreenEggs

+0

이 답변은 사용자 지정 직렬 변환기가 필요하다는 것을 의미한다고 생각합니다. 바로 Rick Strahl이 블로그 게시물에서 JSON.NET을 사용하고, 그 다음에 JavaScriptSerializer 라이브러리가 내장되어 있습니다. – Spivonious

관련 문제