2011-12-28 19 views
4

私は、潜在的に10,000 +複数のクライアントから呼び出されるWCF Webサービスを設計しています。サービスが呼び出されると、サービスは "Object1"クラスを作成します。クラス内のWCF静的メソッド

public List<string> AnswerClient() { 
    Object1 _hello = new Object1(); 
    return _hello.AnswerClient(); 
} 

Object1クラスは、その内部に他のObject1クラスを作成する必要があるためです。他のサブセットObject1クラスを作成する必要があります。私は私が最初の場所で特定のオブジェクト1()を作成する必要はないと思うので、私は

Object1.AnswerClient() 

のような他のオブジェクト1の方法を作成するために、オブジェクト1クラスの静的メソッドを使用して考えていました。複数のクライアントがサービスを呼び出すと、このObject1.AnswerClient()は静的であるためコードが乱れることになりますか?統計はクラス固有のものなので、すべてのクライアントが影響を受けているようです。

このクラスはどのように設計すればよいですか?クライアントはサービスを呼び出し、サービスはクライアントデータに基づいてオブジェクトを作成します。その内部のそのオブジェクトは、20の類似オブジェクトを作成します(データに応じてユーザーデータを分割します)。

何か助けと洞察が役に立ちます。これを一般的にどのように設計すべきですか?

ありがとうございました。

答えて

4

AnswerClientメソッドが作成するステート以外のステートを必要としない場合は、それを静的にすることに問題はありません。

言われているように、私はこれについて異なって考えるでしょう。 AnswerClientは本当にObject1(より良い名前を得ることができる)の機能であるものですか?それとも汎用ユーティリティメソッドですか?論理的に特定の "Object1"インスタンスに結び付けられている場合は、インスタンスメソッドとして残しておきます。一般的なユーティリティで、 "Object1"が表すものと直接関係がない場合は、静的にしてください。

関連する問題