2016-07-28 100 views

回答

4

ServiceContract和OperationContract可以在抽象類上使用,並且代碼將成功編譯,因爲根據C#編譯器,沒有什麼不對。 但是在託管服務時,ServiceHost 將拋出異常,因爲根據WCF規則 - 如果某個類已標記了ServiceContract屬性,則另一個類不能繼承它。

底線 - 不支持。你需要使用接口。

+1

嗯,我認爲這個沒有說明的事實是你不能支持你的服務合同中的狀態,這是抽象類允許的。 – ChaosPandion

2

這轉到了OOP的基礎。如果您使用抽象類,將編譯但在運行時會拋出一個異常,說

繼承只能在界面中使用types.If一類標有ServiceContractAttribute的,那麼另一個服務類不能從它派生

這隻有在接口的情況下才有可能。

+0

你能告訴我你爲什麼投下我的答案嗎?我是否應該刪除它,如果它對您沒有足夠的描述性? –

+1

不確定是誰投了棄權票,但這可能與您聲稱這是OOP的核心有關,但不會詳細說明這意味着什麼。如果你刪除了特定的評論,那麼你的回答更重要。 –

+0

謝謝湯姆:) –

相關問題