0

次のようなエンティティを保存するためのインターフェイスメソッドを実装するWCFサービスがあります。

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

OK、これで「cur」オブジェクトはクライアントユーザーによって作成および入力された新しいエンティティであり、挿入後にデータベースによって入力されるIDフィールドとタイムスタンプがあります。これらの2つのフィールドをクライアントに反映するにはどうすればよいですか?エンティティを参照で渡す必要がありますか?または、保存した直後にデータベースから新しいインスタンスを取得できますか?または、サービスからの出力または戻り値としてそれらを返す必要がありますか?どんなアイデアでもありがたいです。

4

1 に答える 1

1

WCFで参照によってオブジェクトを送信することはできません。プロセスの境界を越えてデータを送信するテクノロジーとしてのWCFは、それをサポートしていません。送信するオブジェクトはすべてシリアル化され(バインディングに応じてXML、JASON、バイナリストリームに)、クライアントからサーバーへ、またはサーバーからクライアントへ送信されるときに逆シリアル化されます。

の代わりに、入力されたフィールドを持つエンティティをクライアントに送り返す必要がありますvoid

これを置き換えます:

void SaveFinTxName(SomeEntity cur);

この行で:

SomeEntity SaveFinTxName(SomeEntity cur);
于 2012-08-13T01:10:09.123 に答える