0

我有两个申请。

一个使用 webreference 到我的 web 服务,第二个使用 servicereference 到我的 web 服务。

有我正在调用的方法:

[WebMethod]
public Car[] GetCars(string carCode)
{
 Cars[] cars= ModelToContract.ToCars(MyFacade.GetCars(carCode);
return cars;
}

汽车有两个游泳池:

string Code {get;set;}
CarType Type {get;set;}

public enum CarType
{
Van=0,
Pickup=1
}

我正在调试这个 webMethod,然后......

最后,webservice 抛出很好的汽车集合,其中有一辆车:code="bmw",Type.Van

但是...具有 webrefence 的应用程序接收相同的集合,而具有 servicereference 的应用程序获取集合,其中字段代码为空...

调用服务引用:

MyService myService=new MyService()
Cars[] cars= client.GetCars(carcode);

调用网络服务:

MyService.MyServiceSoapClient client = new MyServiceS.MyServiceSoapClient();
            Cars[] cars= client.GetCars(carcode);
4

1 回答 1

2

嗯,这是一个序列化问题。

你的模型应该是这样的:

[Serializable]
public class Car
{
    [XmlElement]
    string Code {get;set;}

    [XmlElement]
    CarType Type {get;set;}
}

您也可以确保返回类型:

MyService myService=new MyService()
MyService.Car[] cars= myService.GetCars(carcode);

-

MyServiceS.MyServiceSoapClient client = new MyServiceS.MyServiceSoapClient();
MyServiceS.Car[] cars= client.GetCars(carcode);
于 2010-04-23T08:20:32.997 回答