关于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;}
}
}
...全文
396 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
  • 打赏
  • 举报
回复
没人知道么?
内容概要:本文围绕基于物理场的动态模式分解(piDMD)展开研究,重点探讨其在流体力学、热传导及多物理耦合系统中的建模与应用。通过Matlab代码实现,将传统的动态模式分解(DMD)方法与物理场控制方程相结合,引入物理约束以增强数据驱动模型的物理一致性,从而提升对复杂非线性系统的模态提取精度与长期预测能力。文章系统阐述了piDMD的理论基础、数学推导过程与算法实现步骤,并结合典型物理场仿真案例(如Navier-Stokes方程驱动的流场演化)进行验证,展示了其在降阶建模、主导模态识别和时空动态可视化方面的优越性能,适用于高维、强耦合、非平稳系统的分析与优化。; 适合人群:具备一定数值计算、流体力学、控制理论或数据驱动建模背景,熟悉Matlab编程与线性代数运算,从事科学研究、工程仿真或系统辨识工作的研究生、科研人员及工程师。; 使用场景及目标:①实现对流场、温度场等物理场的高效降阶建模与动态行为预测;②提取符合物理规律的关键模态,用于系统稳定性分析与控制设计;③支撑复杂系统的状态估计、异常检测与优化调控等下游任务。; 阅读建议:建议读者结合提供的Matlab代码逐行调试与运行,深入理解piDMD算法中物理约束的嵌入方式及其对模态质量的影响,同时可尝试将其迁移至其他偏微分方程描述的物理系统中进行拓展验证与应用。

111,128

社区成员

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

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

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