【发布时间】:2013-06-04 19:01:13
【问题描述】:
我对 WCF 编程很陌生,遇到了一些困难。
我有一个收集student 数据的客户端应用程序,然后student 数据将通过web services 存储到数据库中。
所以我在客户端有student class,当新学生到来时,我创建学生对象并分配收集的值。
将这些数据传递给服务的最合适方式是什么?
我可以遵循的选项是;
选项 1
public void InsertStudent(string id, string name, string address)
{
}
我觉得这不好。因为如果我必须传递数据,那么参数列表会变得很长。
选项 2
定义服务数据契约
public void InsertStudent(WcfStudent obj)
{
}
我觉得这很好。但是我对如何发送参数有一些问题(WcfStudent)。
我是否需要在客户端创建这个WcfStudent 对象并传递该对象。
WcfStudent obj=new WcfStudent()
obj.name=myStudent.name;
obj.id=myStudent.id;
client.InsertStudent(obj);
这是正确的方法吗?
请给我建议。
【问题讨论】:
-
是的,你是对的。创建 WcfStudent 客户端并将其传递给专门为存储它而编写的 WCF 服务操作
-
使用 WSDL 生成您的客户端。这将创建 RPC 以发送到 WCF 端点。
-
@Steve- 我有些不确定。我想确保可以在客户端创建
WcfStudent。因为我已经有了具有相同数据的myStudent 对象。 -
@New Developer- 就像我在下面的帖子中写的那样。将 myStudent 对象映射到 WcfStudent 对象。业务逻辑中的对象与 WCF 中的对象不同(即使结构相同)也很好。就像您知道将应用程序分离到某些层一样好。
-
...除了间接层太多的问题。