0

ハイデラバード出身のバルです。私は Andriod / Iphone 開発者向けに WCF Restful サービスを作成しています ()彼らは JSON 形式を使用できるため、REST を選択しています)。実際には、異なるプロジェクトを実行できる 1 つの APP のみでモバイル アプリケーションを実行できます。すべてのプロジェクトは、WEBSERVICE から MobileApp に動的に移行されます。したがって、すべての動的データを Web サービスからのみ構成できます。

合計 100 ~ 150 人のユーザーがいる 5 つのプロジェクトを 1 つのアプリで処理できます。そのため、Factory Reflection メソッドを使用してプロジェクトを動的にロードするサービスを 1 つだけ作成できます。

Q) 私たちのプロジェクトには、どの WCF インスタンス モードが適しているのか疑問に思っていますか? WCF インスタンス モードの記事を読むと、"percall" インスタンスが WCF サービスに適していることがわかります。私の推測は正しいですか?私に提案してください。そして、属性をシリアライズとして指定していない場合、そのオブジェクトはネットワークを適切に通過しないのではないかともう1つ疑問がありますか? 私はシリアライゼーションなしで試しました(つまり、特定のプロパティの「データメンバー」について言及されていません)。モバイルアプリにうまくいきます。私の疑問を明確にして、どのインスタンスモードを使用する必要があるか教えてください。

  1. どのインスタンスが優れていますか?
  2. どちらの ConcurrencyMode が優れていますか?
4

1 に答える 1

1

同じクライアントの呼び出し間で状態を維持する必要がない場合は、PerCall インスタンス モードが優先されますつまり、サービスはステートレスです。 PerInstanceは、クライアントの呼び出し間で何らかの状態を維持する必要がある場合に使用されます。最後に、Singletonは、複数のクライアント間で状態を参照する必要がある場合に使用されます。バインディングとセキュリティの設定に応じて、デフォルトで PerCall または PerInstance になります。PerCall は、必要に応じてサービスを簡単にスケーリングできるため、理想的です。

ConcurrencyMode の場合、デフォルトはシングル スレッドです。あなたが尋ねているので、これをデフォルトのままにしておくことをお勧めします(一般的に)。ただし、ここで説明したトリッキーなケースを見てください

[DataContract] および [DataMember] 属性は、.NET Framework 3.5 の時点では必要ありません。そのバージョンより前は、これらの属性を明示的に指定する必要がありました。

于 2013-08-28T07:50:07.793 に答える