У меня проблемы с моей службой WCF.
Я хочу, чтобы мой метод возвращал список в формате JSON.
Когда я вызываю метод, мой ответ пуст. Даже когда я устанавливаю BodyStyle метода для Wrapped.
Это работает, если я возвращаю ноль, тогда результат становится:
null
и BodyStyle со значением Wrapped:
{
VerwerkStatus: null
}
Если я отлаживаю и наблюдаю за списком, есть 87 элементов или если я возвращаю list.Count (), я получаю 87, поэтому список не пуст.
Я подозреваю, что в настоящее время это работает, только когда я возвращаю одно целое или строковое значение. Если я верну 1 объект VerwerkStatus, он тоже не будет работать.
Служба размещена в проекте веб-сайта ASP.NET, работающем в ASP.NET 3.5.
Объект VerwerkStatus является объектом Entity, поэтому его можно сериализировать.
Мой код:
/// <summary>
///
/// </summary>
/// <param name="sessie"></param>
/// <param name="verwerkStatusId"></param>
/// <returns></returns>
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json)]
public List<VerwerkStatus> Status(string sessie, int verwerkStatusId)
{
if (!String.IsNullOrEmpty(sessie))
{
Guid sessieGuid = new Guid(sessie);
var status = statusRepository.GetStatus(sessieGuid, verwerkStatusId);
var list = status.ToList();
// list.Count() == 87
// none in browser
return list;
}
else
{
return null;// "FOUT: Geen sessie";
}
}
и Web.Config:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<behaviors>
<endpointBehaviors>
<behavior name="SheetProcessServiceAspNetAjaxBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="SheetProcessServiceAspNetAjaxBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="SheetProcessService" behaviorConfiguration="SheetProcessServiceAspNetAjaxBehavior">
<endpoint address="" behaviorConfiguration="SheetProcessServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="SheetProcessService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
Я просто не могу заставить его работать ..