【问题标题】:How can a client get back entity's properties changes after applying changes on the server在服务器上应用更改后,客户端如何取回实体的属性更改
【发布时间】:2012-08-13 00:57:47
【问题描述】:

我有一个 WCF 服务,它实现了一个接口方法来保存这样的实体:

IFinantialTxService svc = BaseServiceLayer.CreateChannel<IFinantialTxService>
SomeEntity cur = GetCurrentObject() as SomeEntity;
svc.SaveFinTxName(cur);

好的,现在“cur”对象是一个由客户端用户创建和填充的新实体,它有一个身份字段和一个时间戳,插入后将由数据库填充。 我如何将这两个字段反映给客户?我应该通过引用传递实体吗?或者我可以在保存后立即从数据库中获取一个新实例吗?或者我应该将它们作为输出返回还是从服务返回值? 任何想法我都会不胜感激。

【问题讨论】:

    标签: wcf timestamp identity n-tier-architecture dbcontext


    【解决方案1】:

    您不能在 WCF 中通过引用发送对象。 WCF 作为跨进程边界发送数据的任何技术都不支持这一点。您发送的任何对象都会被序列化(转换为 XML、JASON、二进制流,具体取决于您的绑定),并在从客户端发送到服务器或从服务器发送到客户端时反序列化。

    您应该将带有填充字段的实体发送回客户端,而不是 void

    替换这个:

    void SaveFinTxName(SomeEntity cur);
    

    用这一行:

    SomeEntity SaveFinTxName(SomeEntity cur);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多