我使用Juval Lowy的「編程WCF服務」中的ServiceModelEx WCF庫。我正試圖與發佈者和訂閱者一起實施發佈 - 訂閱服務。我迄今所做的是發佈者和發現發佈服務。如何實現WCF ServiceModelEx訂戶?
服務合同:
[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
}
}
但我怎麼能託管訂戶?用戶如何連接到發佈 - 訂閱服務?
託管您的服務的最佳方式是創建Windows服務。您可以使用Visual Studio項目創建者中的Windows服務嚮導。 – donovan