2012-01-19 2 views
0

Sytem.Array Json Class 개체의 데이터 멤버로서 오류 응답을 제공합니다. 내가 클래스 Activity .I를 반환 방법 userActivities 다음 사용하고System.Array를 DataMember로 사용할 때 WCF AJAX Response가 실패 함

내 WCF 웹 서비스는 아약스에서 클래스 Activity의 매개 변수를 설정했습니다.

[ServiceContract] 
public interface IMyService 
{ 
    [OperationContract] 
    [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)] 
    Activity userActivities(Activity activity, string action); 
} 

[DataContract] 
partial class Activity 
{ 

} 

그리고 서비스의 MyService.cs 클래스에서

public Activity userActivities(Activity activity, string action) 
{ 
    if (action.ToLower() == "myactivities") 
    { 
     activity.get_MyActivities(); 
    } 
    return activity; 
} 

입니다 그리고 클래스 활동은 다음과 같습니다

[DataMember] 
public int userID; 

[DataMember] 
public Array _getList_MyActivities; 

public void get_MyActivities() 
{ 
    _DL_Activity = new DL_Activity(); 
    if (this.userID > 0) 
     this._getList_MyActivities = _DL_Activity.get_MyActivity(this.userID); 

} 
+0

'Activity' 클래스를 하나의 코드 블록에 넣으면 코드를 이해하기 어렵고 왜'partial'을 사용합니까? –

+0

부분적으로 우리는 코드를 인터페이스와 별도로두기를 원합니다. – Shailesh

+0

'_getList_MyActivities'에 무엇을 저장하고 있습니까? '활동'? –

답변

0

있어 this 게시 할 수 있습니다. 이에 따르면 ServiceKnownType으로 서비스를 꾸미십시오. 당신은 배열에 다른 데이터 유형을 저장하는 의견에 따르면이

[ServiceContract] 
[ServiceKnownType(typeof(string))] 
[ServiceKnownType(typeof(string[]))] 
public interface IMyService 

같은

뭔가, 나는 당신이 ServiceKnownType으로 배열의 모든 항목에 대한 typeof을 넣어해야합니다 같아요.

희망이 당신을 위해 작동합니다.