1

我的 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 服务类

在此处输入图像描述

实施有什么问题。有什么帮助吗?

编辑 :

它适用于没有列表的简单服务调用。我认为问题可能在于收藏品的退回。我在这里找到了类似的问题。但并没有从中得到太多。

4

2 回答 2

1

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

于 2013-04-04T09:28:01.393 回答
0

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

在页面加载中添加

AddHandler client.GetEndorsementCompleted, AddressOf GetEndorsement

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

Private Sub GetEndorsement(ByVal sender As Object, ByVal e As SR.GetEndorsementCompletedEventArgs) If Not e.Result.Equals(Nothing) Then

     'Data grid binding

    End If
End Sub

在 c# 的情况下,您可以使用演示代码项目中的此链接

于 2013-04-03T11:24:02.210 回答