1
我遇到了我的WCF服務問題。 我想我的方法返回以JSON格式化的列表。ASP.NET WCF服務不返回任何結果
當我調用該方法時,我的回覆是空的。即使當我將該方法的BodyStyle設置爲Wrapped。
它的工作原理,如果我返回空值,輸出則變爲:
null
與BodyStyle設置爲包裹:
{
VerwerkStatus: null
}
如果我調試和觀察名單有87項,或者我返回list.Count(),我得到87,所以列表不是空的。
我懷疑它目前只在我返回一個整數或字符串值時才起作用。如果我返回1個VerwerkStatus對象,它也不起作用。
該服務託管在ASP.NET 3.5上運行的ASP.NET網站項目中。 VerwerkStatus對象是一個實體對象,因此它是可序列化的。
我的代碼:
/// <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>
我只是無法得到它的工作..