WCF服务不返回Web应用程序中的集合

时间:2013-04-03 09:58:13

标签: asp.net wcf wcf-data-services wcf-binding wcf-security

我的WCF服务托管在本地IIS上。当我从应用程序调用它时,我无法从wcf调用中获得结果。但奇怪的是它在调试中显示正确的结果(在进入服务类时)并在登台类中返回对象数组。当调试进入应用程序时,它返回空数组。我有以下来自申请的电话。

    public List<SurveyQuestion> GetCommonQuestionsForCompentency()
    {
        List<SurveyQuestion> questions = new List<SurveyQuestion>();
        SurveyQuestion[] ques = null;
        ICSSService.SurveyServiceClient client = null;
        try
        {
            client = (SurveyServiceClient)WCFSecurityEntityForSurvey.getSurveyClient();
            ques = client.GetCommonQuestionsByCategoryType(2);
            questions = ques.ToList<SurveyQuestion>();
            return questions;
        }
        catch (Exception)
        {
            throw;
        }
        finally{ client.Close();}
    }

调用下面显示的wcf服务类

enter image description here

实施方面出了什么问题。有什么帮助吗?

编辑:

它适用于没有列表的简单服务调用。我认为问题可能在于收集回归。我发现了类似的问题Here。但是没有从中获得太多。

2 个答案:

答案 0 :(得分:1)

我有类似的问题。这是因为没有正确添加引用,我修改了reference.cs文件。因此,如果应用程序中的命名空间不同,则数据无法正确获取。只需检查应用程序中的命名空间即可。查看应用程序中的某个类是否具有与其他类不同的命名空间

答案 1 :(得分:0)

您需要做的就是添加一个已完成的函数,然后将网格数据源添加到该函数中。

页面中的

加载

AddHandler client.GetEndorsementCompleted, AddressOf GetEndorsement

然后添加以下函数以使异步函数命中。

  

Private Sub GetEndorsement(ByVal sender As Object,ByVal e As   SR.GetEndorsementCompletedEventArgs)           如果不是e.Result.Equals(Nothing)那么

     'Data grid binding

    End If
End Sub

如果是c#,您可以使用演示

的代码项目中的link