3

私は現在、Silverlightアプリケーション、より正確には、ロビーとゲームの2つの状態を持つゲームに取り組んでいます。

その構造を反映するようにサービスアプリケーションを作成しました。ロビー関連のすべての操作を処理するためのLobbyServiceと、実際のすべてのゲーム操作を処理するためのGameServiceを作成しました。その上、両方の状態間で共有される操作(チャット、システムメッセージなど)を処理する3番目のサービス「GeneralService」があります。

デザイン自体にはかなり満足していますが、デュプレックスサービスのスケーラビリティを読んだことで、3つのサービスを用意するのは良い考えではないかもしれないと思いました。つまり、2〜3のデュプレックスチャネルを同時に開くことを意味します。各クライアント、したがってサーバー側でより多くのリソースを使用します。

だから私の質問は、すべてに1つのWCFサービス(.svc)だけを使用する方が良いですか(おそらく3つの異なるデータコントラクトを実装するだけで)、現在の設計を維持し、サービスを論理的に独自のサービスに分割しても大丈夫ですか?

ありがとう!

4

2 に答える 2

2

私が知っているように、WCF ポーリング デュプレックス サービスには、パフォーマンスにいくつかの欠点があります

于 2011-03-01T21:55:12.567 に答える
0

LobbyServiceとGameServiceの間にセキュリティ/権利の違いがある場合、私はそれらを2つの異なるサービスとして保持します。

おそらく、これらのサービスがGeneralServiceから継承できるようにして、両方のサービスでその機能を利用できるようにすることができます。

これにより、構造やサービスを維持しながら、クライアントごとに開いているデュプレックスチャネルの数を減らすことができます。

于 2009-08-02T09:58:30.947 に答える