2011-12-28 45 views
4

我正在設計一個WCF web服務,在任何給定的時間,這個服務可能會被10,000多個單獨的客戶端調用。當服務被調用時,服務創建「Object1」類。WCF類中的靜態方法

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

因爲Object1類需要在其中創建其他Object1類。它需要創建其他子集Object1類。我想用在Object1類的靜態方法來創建其他Object1方法,如

Object1.AnswerClient() 

,因爲我不認爲我需要首先創建一個特定Object1()的。如果多個客戶端調用該服務,該Object1.AnswerClient()會將代碼弄亂,因爲它是靜態的?由於靜態特定於班級,所有客戶似乎都受到影響?

我該如何設計這門課。客戶端調用服務,服務根據客戶端數據創建對象。該對象內部創建了20個更類似的對象(根據數據拆分用戶數據)。

任何幫助和見解都會有幫助。我應該如何設計這個一般來說?

謝謝。

回答

4

如果AnswerClient方法本身不需要任何狀態而不是它所創建的狀態,那麼將其設置爲靜態不應該有任何問題。

這就是說,我會考慮這個不同。是AnswerClient真的是Object1(它也可以得到一個更好的名字)的功能?或者它是一種通用的實用方法?如果它在邏輯上與特定的「Object1」實例綁定,那麼我將它作爲實例方法。如果它更像是一個通用工具,並且與「Object1」所代表的任何東西都沒有直接關係,則將其設爲靜態。