如何设计多个WCF调用?

时间:2011-06-21 11:56:09

标签: wcf design-patterns transactions integration-testing

我在C#中实现了2个WCF服务,用于测试第3方应用程序的客户端 - 服务器交互。假设我有一个用于WCF测试服务的服务器端测试器接口(我跳过了简化接口的属性)

interface IServerTester
{
    bool Start();
}

客户方一:

interface IClientTester
{
    bool Start();
}

这些方法的目的仅仅是启动服务器并启动第三方应用程序的客户端。我正在使用NUnit来测试它。在上层它看起来像一个C#事务脚本,我首先启动一个服务器,然后是一个客户端,最后验证它们是否正在通信。

稍后,我想轻松添加更多客户端(启动多个客户端),因此我需要在我的事务脚本中向IClientTester添加更多WCF调用。

我可以做这样的事情,每个客户都有自己的端点

//Start server

//start client 1
//start client 2
//...
//start client N

我需要在许多其他测试中重用代码。但它似乎是一个相当长的解决方案。有没有更好的想法,或者我可以采用的模式?非常感谢!

1 个答案:

答案 0 :(得分:1)

我不确定我是否完全按照你的问题,但听起来像是需要Pub / Sub。听起来就像服务器启动时,您希望通知1:M客户端并启动,更正?如果是,则服务器可以发布“客户端”所有订阅的消息或事件。您不需要修改任何内容来添加新客户端,只需订阅新客户端实现中的消息或事件即可。