2009-07-19 18 views
0

私は、単一コールバックメソッドをサポートするnettcp WCFサービスを持っています。複数のコールバックをサポートするWCFサービスを作成するにはどうすればよいですか?

新しいメソッドを含む新しいインターフェイスを追加することで、新しいメソッドを追加したいのですが、古いメソッドを壊さずに、別のものが古いインターフェイスに依存するためです。

古いものから継承する新しいインターフェイスを追加しようとしましたが、クライアントアプリケーションのgerenatedプロキシに古いコールバックインターフェイスが含まれていません。あなたは - 私は古いクライアントコード

interface INewCallback : IOldCallback 
{ 
[OperationContract(IsOneWay = true)] 
     void OnMethod2(float x); 

[OperationContract(IsOneWay = true)] 
     void OnMethod3(bool x); 

[OperationContract(IsOneWay = true)] 
     new void OnMethod1(int x); 


} 

答えて

1

を壊さないだろうので、私はあなたがこれを行うことはできません間に合わせのソリューションを作るPS

interface IOldCallback 
    { 
     [OperationContract(IsOneWay = true)] 
     void OnMethod1(int x); 
    } 

interface INewCallback : IOldCallback 
{ 
[OperationContract(IsOneWay = true)] 
     void OnMethod2(float x); 

[OperationContract(IsOneWay = true)] 
     void OnMethod3(bool x); 


} 
[ServiceContract(SessionMode = SessionMode.Required, CallbackContract = typeof(INewCallback))] 
    public interface IMyService 
{ 
} 

を次のように

コードがあります最大で1つのコールバックを持つことができます。

あなたが調べることができるのはパブリッシュとサブスクライブのサービスで、ソースはメッセージを送信して、そのメッセージを購読しているすべての人にルーティングします。これには追加のビットとピースが必要です。ローカルシナリオの場合はNServiceBusのようなもの、.NET Service Busのようなものは、より賢明なソリューション「クラウド」のためのものです。

マーク

関連する問題