Juval Lowy の「Programming WCF Services」の ServiceModelEx WCF ライブラリを使用しています。パブリッシャーとサブスクライバーを使用してパブリッシュ-サブスクライブ サービスを実装しようとしています。これまでに行ったことは、パブリッシャーとディスカバー・パブリッシュ・サービスです。
サービス契約:
[ServiceContract]
interface IMyEvents
{
[OperationContract(IsOneWay=true)]
void OnEvent1(int number);
}
ディスカバー - サービスの公開:
class MyPublishService : DiscoveryPublishService<IMyEvents>, IMyEvents
{
public void OnEvent1(int number)
{
FireEvent(number);
}
}
検出 - サービス ホストの発行:
ServiceHost host = DiscoveryPublishService<IMyEvents>.
CreateHost<MyPublishService>();
host.Open();
// later..
host.Close();
出版社:
IMyEvents proxy = DiscoveryPublishService<IMyEvents>.CreateChannel();
proxy.OnEvent1();
(proxy as ICommunicationObject).Close();
私の質問は、サブスクライバーをどのように実装できますか? この本は、サービス契約を実装すると述べています。それは簡単です。
class EventServiceSubscriber : IMyEvents
{
public void OnEvent1(int number)
{
// do something
}
}
しかし、どうすればサブスクライバーをホストできますか? サブスクライバーはどのように Publish-Subscribe サービスに接続できますか?