分散環境を処理するために WCF サービスを必要とする新しいプロジェクトを開始しました。私はまだ物事を実装するための最良の方法を見つけようとしています.
NHibernate を使用したいのですが、シリアライゼーションに対処するいくつかの方法を見てきました。これは 3.0 で処理されますか? トラックの中に wcf_context があることに気付きました :D
それが処理されない場合、誰かが私を正しい方向に向けることができますか?
みんな、ありがとう
分散環境を処理するために WCF サービスを必要とする新しいプロジェクトを開始しました。私はまだ物事を実装するための最良の方法を見つけようとしています.
NHibernate を使用したいのですが、シリアライゼーションに対処するいくつかの方法を見てきました。これは 3.0 で処理されますか? トラックの中に wcf_context があることに気付きました :D
それが処理されない場合、誰かが私を正しい方向に向けることができますか?
みんな、ありがとう
通常、サービスからデータを返す場合は、そのサービス呼び出しに関連するもの、DTO (データ転送オブジェクト)、または WCF の DataContract を含む、サービスの目的に固有のクラスを返す必要があります。世界。
エンティティと DTO の間のマッピングに特に役立つツールの 1 つがAutoMapperです。AutoMapper を使用するか、単に「左右」コーディングを使用するかに関係なく、マッピングを行うと実行が発生するため、遅延読み込み/遅延実行の問題が回避されます。
サービスからエンティティを返すのが得策ではない理由はいくつかあります。ここではそのいくつかを示します (ほとんどの場合、さまざまな意見があります)。
WCF を使用して遅延読み込みオブジェクトを渡すことはできません。
回避策はいくつかありますが、次の WCF バージョン (2010 年 4 月に近日公開) で修正されるバグがあります。
それ以外は、適切な DataContract でオブジェクトを定義する限り、それらは一緒に喜んで去ります。
リストのシリアル化にも問題があります - 特定のフラグを指定して svcutil を使用してプロキシを生成する必要があります。そうしないと、問題が発生します (リストが配列になり、アイテムを追加できなくなります) (特定の種類のリストを使用しない限り)。 WCF と NHibernate の両方が同意します) - それを調べます (Nhiberate と WCF リスト) -