我有一个WCF服务器,它实现了一个接口方法来保存这样的实体:
IFinantialTxService svc = BaseServiceLayer.CreateChannel<IFinantialTxService>
SomeEntity cur = GetCurrentObject() as SomeEntity;
svc.SaveFinTxName(cur);
好的,现在“cur”对象是由客户端用户创建和填充的新实体,它有一个标识字段和一个时间戳,插入后将由数据库填充。 我怎样才能将这两个字段反映给客户?我应该通过引用传递实体吗?或者我可以在保存后立即从数据库中获取新实例?或者我应该将它们作为输出返回或从服务返回值? 任何想法,我将不胜感激。
答案 0 :(得分:1)
您无法在WCF中通过引用发送对象。 WCF作为跨过程边界发送数据的任何技术都不支持。您发送的任何对象都是序列化的(根据您的绑定,分为XML,JASON,二进制流),并在从客户端发送到服务器或从服务器发送到客户端时进行反序列化。
您应该将填充字段的实体发送回客户端而不是void
。
替换它:
void SaveFinTxName(SomeEntity cur);
这一行:
SomeEntity SaveFinTxName(SomeEntity cur);