将对象从WCF服务发送到UWP

时间:2016-08-08 08:55:53

标签: c# wcf uwp

我很擅长与WCF合作,而且我很难理解发生了什么。

我试图从我的服务中检索数据,而服务又从数据库中获取数据。为了简化操作,我想返回一个包含数据的对象,以便它可以立即在UWP应用程序中使用。但是,当我尝试使用该服务时,我遇到了以下错误:

  

无法隐式转换类型' MBCMobile.ServiceReference1.TaskBreakdown_GetDataResponse'到' MBCMobile.ServiceReference1.JobTestObject'

以下代码是我正在使用的代码:

[ServiceContract]
    public interface IService1
    {
        [OperationContract]
        JobTestObject TaskBreakdown_GetData(int task, int appliance, int job);
    }


[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]
public class Service1 : IService1
{
    public JobTestObject TaskBreakdown_GetData(int task, int appliance, int job)
    {
        JobTestObject jobData = data.TaskBreakdown_GetData(task, appliance, job); //object returned from sql query

        return jobData;
    }
}

使用以下内容使用我的服务:

 private async void GetString()
 {
     ServiceReference1.Service1Client service = new ServiceReference1.Service1Client();
     JobTestObject datalist = await service.TaskBreakdown_GetDataAsync(6153, 18876, 18111);
 }

JobTestObject在服务和UWP应用中具有相同的格式。服务版本实际上是作为get / set方法的集合存在而不是其他任何东西。应用程序版本有其他方法,但完全相同的get / set方法。我尝试过使用ServiceReference1.JobTestObject来查看是否有帮助,但无济于事。我希望我认为将对象传递给客户端可能有点天真。

我也试过返回一个字符串列表并得到类似的错误。

过去我从服务中检索单个值时管理得很好,但现在我想要一次获得多个值,我无法理解我做错了什么。遗憾的是,我发现的大多数解决方案与UWP应用程序无关

更新:根据要求

[DataContract]
public class JobTestObject
{
    int appliance_id, manu_id, model_id, landlord_app, applianceType_id, 

    [DataMember]
    public int ApplianceType { get { return applianceType_id; } set { applianceType_id = value; } }
    [DataMember]
    public int Appliance_ID { get { return appliance_id; } set { appliance_id = value; } }
    [DataMember]
    public int ApplianceManufacturer { get { return manu_id; } set { manu_id = value; } }
    [DataMember]
    public int ApplianceModel { get { return model_id; } set { model_id = value; } }
}

0 个答案:

没有答案