关于Webservice传递自定义对象的问题~急~加急!!

dodowen 2009-05-31 02:59:04
我的服务端是Webservice,客户端是WindowsApplication,使用VS2008的C#开发。

总共3个问题
1、如何在Webservice端和客户端传递有内嵌对象或对象集的对象。
2、如何传递类中的属性来自于内嵌对象的属性。
3、如何传递类中的属性来自于若干成员的计算

举例:
1、希望把Class2对象从WebService传递给客户端的时候,客户端可以访问到Class2对象中的class1和class1s两个属性。
Public Class1
{
Private string name;
Private int id;
}

Public Class2
{
Private Class1 c1;
Private List <Class> c1s;
Pulibc Class1 class1
{
Get { return c1;}
}
Pulibc Class1[] class1s
{
Get { return c1s.ToArray(); }
}
}

据一位老师说在两个类前面加上[Serializable()]标记就可以了,但是我试着加了一下之后还是无法得到class1和class1s两个属性,不知道是那里出了问题,请论坛中的大侠赐教。


2、类中的属性来自于内嵌对象的属性,比如示例中的Class2中的class1desc属性
3、类中的属性来自于若干成员的计算,比如示例中Class1中的description属性
Public Class1
{
Private string name;
Private string code;
Public string description
{
Get { return name+"-"+code; }
}
}

Public Class2
{
Private Class1 c1;
Pulibc string class1desc
{
Get { return c1.description;}
}
}
...全文
356 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yirantaoqi_jun 2011-04-07
  • 打赏
  • 举报
回复

楼主的问题我也遇到了,是怎么样解决的?
dodowen 2009-06-02
  • 打赏
  • 举报
回复
顶顶
dodowen 2009-06-01
  • 打赏
  • 举报
回复
class1和class2是类名,详细定义可以看顶贴
xxyping 2009-06-01
  • 打赏
  • 举报
回复
[WebMethod]
Public Class2
{
Private Class1 c1;
Private List <[color=#000000]Class> c1s;[/color]
Pulibc Class1 class1
{
Get { return c1;}
}
Pulibc Class1[] class1s
{
Get { return c1s.ToArray(); }
}
}
class 是什么意思啊

你要把这个webservice给发布了,然后在客户段要引用下,然后就可以直接使用这个
Class2 c2 = new Class2();
然后属性什么的都是可以的,大致是这个样子
dodowen 2009-06-01
  • 打赏
  • 举报
回复
6楼的同学,不是很明白你说的意思,你可以详细说一下么?

我现在的问题:客户端想从Webservice得到包含class1的class2。
比如示例中的Webservice的函数为
[WebMethod]
public Class2 GetClass1Object()
{
Class2 c2 = new Class2();

c2.C1 = new Class1();
c2.C1.Name = "ZhangSan";
c2.C1.Code = "CSharp";

return c2;
}

客户端的TestCall为
class TestCall
{
localhost.Service1 ws = new localhost.Service1();

public string GetDesp()
{
Class2 c2= ws.GetClass1Object();
Class1 c1=c2.C1—————————————就是这里好像无法实现
return.c1.Name;
}
}
dreamagainzwj 2009-06-01
  • 打赏
  • 举报
回复
你定义webservice的方法的返回类型就是这个类,然后在new个类接收它就行了
dodowen 2009-06-01
  • 打赏
  • 举报
回复
这里没有大侠么?江湖告急啊啊
dodowen 2009-06-01
  • 打赏
  • 举报
回复
已经加了还是没用:(
ProjectDD 2009-06-01
  • 打赏
  • 举报
回复
传递 加 [Serializable]
dodowen 2009-06-01
  • 打赏
  • 举报
回复
还是没有解决。。
dodowen 2009-05-31
  • 打赏
  • 举报
回复
顶顶别沉了
dodowen 2009-05-31
  • 打赏
  • 举报
回复
非常感谢啊,不过不是很清楚你说的是三个问题的属性前面加[WebMethod]么?
sunboyyun 2009-05-31
  • 打赏
  • 举报
回复
在前面加[WebMethod]
dodowen 2009-05-31
  • 打赏
  • 举报
回复
没人知道么?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧