Web 参考与服务参考。只有一个有效吗?连载?

发布于 2024-08-29 23:10:45 字数 871 浏览 0 评论 0原文

我有两份申请。

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

我正在调用一个方法:

[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,并且...

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

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

调用 servicereference:

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

调用 webservice:

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

I've got two applications.

One uses webreference to my webservice, and second use servicereference to my webservice.

There is metohod which I'm invoking:

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

Car has two pools:

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

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

I'm debuging this webMethod, and...

at the end webservice throw good collection of cars, which has one car:
code="bmw",Type.Van

But...
Application with webrefence receives the same collection
and application with servicereference gets collection, where field code is null...

Invoking servicereference:

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

Invoking webservice:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

二手情话 2024-09-05 23:10:45

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

您的模型应该是这样的:

[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);

Hum it's a serialization problem.

Your model should be like this :

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

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

You may ensure the return type too :

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

-

MyServiceS.MyServiceSoapClient client = new MyServiceS.MyServiceSoapClient();
MyServiceS.Car[] cars= client.GetCars(carcode);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文