使用wcf回调服务
使用wcf回调服务
在一个环境中工作,如何利用过程的信息从各种来源和分配大量发送端口。现在,一个可以利用的机会作为一个技术;然而,这带来了一些问题,主要是一个新的发送端口,需要创建为每个新的应用程序,需要消息路由到它。就是说,除非能够保证所有的开发人员只会偷看到一个消息队列,绝不出列的消息。老实说,这将导致更多的问题比它解决的,更遑论将是可怕的实践。这使我使用周转回调服务作为一个单一的切入点,在我们的产品(企业服务总线)。
背景
考虑到周转基金(通信基础)支持回调合同,因此事件驱动架构,可以容易地创建发送端口在编译到一个消息队列(MS MQ,在这种情况下),然后揭露周转事件驱动的网络服务,众多客户可以订阅和接收邮件。随着我的旅程,我碰到了很多问题和问题。这是因为我写这本条目的今天,希望你给我站住你一些浪费太多时间。
使用代码
让我们先从容易的部分,该服务合同。这包括回调合同以及操作允许客户端订阅和退订。我会用最基本的网络服务,我能想到的,就不会偏离实际问题我碰到。
崩溃|复制代码
[servicecontract(sessionmode=sessionmode所需,
callbackcontract=类型(ieventsystemcallback))]
接口ieventsystem
{
[operationcontract(isoneway=真)]
subscribe()无效;
[operationcontract(isoneway=真)]
unsubscribe()无效;
}
接口ieventsystemcallback
{
[operationcontract(isoneway=真)]
无效onmessagereceived(字符串);
}现在,这真的都需要生成一个事件驱动的网络服务的周转;至少,就合同而言。如果你注意到,有两家企业将暴露通过服务(订阅和退订)。记住,这是剥夺其基本用于演示目的。在实际使用的解决方案,我有一个对象代表了实际事件一想订阅以及其他细节,用于跟踪目的。
该ieventsystemcallback接口回调合同,你会注意到在服务合同的ieventsystem接口。因此,你不需要的服务合同属性的ieventsystemcallback合同。你必须只揭露所有的方法(或事件)的客户期望。
现在,让我们进入硬东西。我们将开始与服务本身。我会让你整个服务实现,然后我们会打破它。
评论已关闭