2009-01-21 94 views
1

我希望在WCF中为建模服务和操作提供一些指导。WCF中的设计服务和操作

我有一系列的业务领域,每个领域都有我想通过WCF使用的定制方法。我想一个面向对象的看法是这样的:

interface IBusinessDomain1 
{ 
    MyClass1 Method1(...) 
    MyClass2 Method2(...) 
} 

interface IBusinessDomain2 
{ 
    MyClass3 Method3(...) 
    MyClass4 Method4(...) 
} 

我的自然倾向是让每个接口的服务,并且每个方法的操作,我有这个问题是个别领域内的操作很可能需要完全不同绑定配置。即Method1可能需要同步,Method2可能需要异步。

当为WCF定义服务和操作时,更好的方法是从数据类型和数据需要发送的方式来考虑吗?也许所有业务领域的方法都需要以特定的方式工作,并将这些方法放在一个服务中?我想知道其他人如何解决类似的情况?我见过

大多数WCF教程和示例倾向于使用相当琐碎的车型,往往是一个“计算器”服务产品“加”,“减”等操作,这些操作都有着相同的约束力。

有关如何处理定义我的服务和操作的建议将受到高度赞赏,或者只是一些指向进一步阅读的链接,因为我找不到太多东西。

由于提前, 将

回答

3

我认为你的分组一起合同中关于他们是否被称为异步方式是一个坏主意。您仍然应该保留合理的逻辑分组,使其合理。

您还需要详细说明可能适用于您的合同的不同绑定配置。如果您需要异步调用客户端上的合同的方法,那么这是不是该服务商与关心本身,客户可以选择生成支持异步操作的合同(在那里你会得到*开头和结束*渠道工厂将为您生成的合同方法)。然而,如果你正在做一些事情,比如让服务返回一个客户端返回给服务来检查状态的令牌,那么你可能需要考虑一个回调接口,因为它可以使你的设计更加干净。

如果不同的绑定配置与端点的变化(例如传输通道)有关,那么您可能会考虑针对不同端点的不同合约,但我没有得到您所寻找的印象这里。

+0

感谢卡斯帕这是一个有用的答案,给了我一些事情要对阅读起来。 – WillH 2009-01-23 20:24:10