#c# #json #wcf
#c# #json #wcf
Вопрос:
Я возвращаю JSON из сетевого класса с 4 свойствами из моей службы WCF. Проблема заключается в том, что они отправляются в браузер (IE, Chrome, FF). он возвращает только одно из свойств из класса
Класс .NET:
[DataContract]
public class MASInspections
{
[DataMember]
public int MaintID { get; set; }
public string MHID { get; set; }
public DateTime MaintDate { get; set; }
public string pdfReport { get; set; }
}
Интерфейс .NET:
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "GetInspectionByReach/{Reach}")]
List<MASInspections> GetInspectionByReach(string Reach);
Метод .NET:
public List<MASInspections> GetInspectionByReach(string Reach)
{
List<MASInspections> InspInfos = new List<MASInspections>();
DataSet ds = DBCalls.GetInspectionByReach(Reach);
DataTable dt = ds.Tables[0];
DataRowCollection drc = dt.Rows;
for (int i = 0; i < drc.Count; i )
{
object[] values = drc[i].ItemArray;
MASInspections InspInfo = new MASInspections();
InspInfo.MaintID = Convert.ToInt32(values[0]);
InspInfo.MHID = Convert.ToString(values[1]);
InspInfo.MaintDate = Convert.ToDateTime(values[5]);
InspInfo.pdfReport = Convert.ToString(values[6]);
InspInfos.Add(InspInfo);
}
return InspInfos;//this inlcudes all 4 properties
}
когда json отправляется в браузер, там есть только MaintID:
{"GetInspectionByReachResult":[{"MaintID":133},{"MaintID":178}]}
Есть идеи, почему это может быть?
Спасибо
Ответ №1:
это ваша проблема:
[DataContract]
public class MASInspections
{
[DataMember]
public int MaintID { get; set; }
public string MHID { get; set; }
public DateTime MaintDate { get; set; }
public string pdfReport { get; set; }
}
вам нужно:
[DataContract]
public class MASInspections
{
[DataMember]
public int MaintID { get; set; }
[DataMember]
public string MHID { get; set; }
[DataMember]
public DateTime MaintDate { get; set; }
[DataMember]
public string pdfReport { get; set; }
}