0

シナリオは、3 つの層/物理マシンがあります。

Tier1: Client(UI),

-- Firewall 1-- 
Tier2: WCF Facade, 

-- Firewall 2-- 
Tier3: WCF proper, DB Access Layer, Entity Framework(project with edmx fiels), DB

層 3 から、適切な WCF で、さまざまな操作コントラクト (メソッド) でエンティティ (テーブル) を返します。

層 2 から、WCF Facade でサービス参照を WCF Proper に追加し、エンティティ オブジェクトにアクセスできます。これには、それらの関係 (リンクされたテーブル) などが含まれます。次に、WCF Facade のさまざまな操作コントラクトで、必要に応じていくつかのエンティティ オブジェクトを公開しようとします。

層 1 から、WCF Facade をサービス参照として追加し、DESIGN 時にメソッドにアクセスすることは問題ありませんが、RUNTIME で「基になる接続が閉じられました。接続が予期せず閉じられました」というエラーが発生します。

これはタイムアウトとは何の関係もないことはすでに知っていますが、エンティティを層 1 と層 2 の間でシリアル化できないという事実に関係しています。リンクされた関係のない単一のエンティティを返す場合、これはエラーなしで機能します。

Q1. 階層間で EntityFramework エンティティ (その中に子/親エンティティがある) を渡すにはどうすればよいですか? (適当かどうかは無視)

Q2. Tier2 と Tier3 の間でエンティティの受け渡しに問題はなく、リレーションは問題なく渡されます。Tier1 と Tier2 の違いによって、突然シリアル化できなくなるのはなぜですか?

4

0 に答える 0