2011-06-22 43 views
0

我正在尋找這個答案,但我沒找到它。如您所知,NServiceBus庫附帶一個稱爲WCF集成的示例。它有一個服務器作爲WCF服務公開的接口,對吧?這個接口裏面只有一個方法。我的想法是在該界面中有多個方法,這可能嗎? 我有我自己的項目,其中我有我的接口與多個方法,我的想法是,這個WCF服務有一個方法類似於示例中的「Process」,發佈消息。我可以使用NServiceBus在服務器中公開兩種方法嗎?

代碼:

[ServiceContract] 
public interface ICancelOrderService 
{ 
    [OperationContract(Action = "http://tempuri.org/IWcfServiceOf_CancelOrder_ErrorCodes/Process", ReplyAction = "http://tempuri.org/IWcfServiceOf_CancelOrder_ErrorCodes/ProcessResponse")] 
    ErrorCodes Process(CancelOrder request); 

    [OperationContract] 
    ErrorCodes HelloWorld(CancelOrder request); 
} 

public class CancelOrderService : WcfService<CancelOrder, ErrorCodes>{} 

我TRIE從ICancelOrderService繼承,但沒有奏效。

那麼,有什麼建議嗎?謝謝人們...

問候,馬蒂亞斯。


感謝您的快速回復。也許我的解釋還不夠清楚。我有我的服務器繼承WcfService,但我的想法是有多個OperationContract,一個類似於進程,其他人共同Wcf OperationContract,他們不會與NSB交互。

[ServiceContract] 
public interface ICancelOrderService 
{ 
    [OperationContract(Action = "http://tempuri.org/IWcfServiceOf_CancelOrder_ErrorCodes/Process", ReplyAction = "http://tempuri.org/IWcfServiceOf_CancelOrder_ErrorCodes/ProcessResponse")] 
    ErrorCodes Process(CancelOrder request); 

    [OperationContract] 
    void HelloWorld(int var); 
} 

我的代碼會是這樣的。隨着你的迴應,我意識到第一篇文章的代碼是錯誤的。

所以,這是可能的,或者我不得不以其他方式來實現這個?

謝謝,Matias

+0

我已將您的未註冊帳戶合併到您的註冊帳戶中。您現在可以編輯此問題,在答案下留下意見並(最終)接受最能幫助您的答案。 –

回答

0

公開的WCF服務僅用於將消息發送到總線上。一旦消息在總線上,它將被分派到適當的消息處理程序。然後您可以從您的處理程序發佈。 NSB將爲每個繼承WcfService類的消息處理程序公開類的方法。只要繼續使用該類來公開更多方法。

相關問題