Недавно я создал службу поддержки WCF с EF4. Все это сработало при возврате ответа формата XML. однако, когда дело доходит до JSON, я получил 504 Error. unable to return json data, WCF Resful Service .NET 4.0WCF restful возвращающий JSON с использованием Entity Framework Complex
По углубиться с помощью Service трассировки просмотра: Я нашел эту ошибку:
'The type 'xxx.DataEntity.AppView' cannot be serialized to JSON because its IsReference setting is 'True'. The JSON format does not support references because there is no standardized format for representing references. To enable serialization, disable the IsReference setting on the type or an appropriate parent class of the type.'
«APPVIEW» представляет собой сложный объект класса, который генерируется EF4 из процедуры магазина. Я потратил довольно много времени на google, как отключить IsReference, пока что очень мало.
Кто-нибудь? с любыми решениями?
заранее спасибо
Код:
[OperationContract]
[WebInvoke(Method = "GET",
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "App/{id}/{format}")]
AppView FuncDetail(string id, string format);
public AppView FuncDetail(string id, string format)
{
SetResponseFormat(format);
return AppSvcs.GetById(id);
}
private void SetResponseFormat(string format)
{
if (format.ToLower() == "json")
{
ResponseContext.Format = WebMessageFormat.Json;
}
else
{
ResponseContext.Format = WebMessageFormat.Xml;
}
}