English 中文(简体)
使用 NetmmqBinding 损坏周转基金频道
原标题:Faulting a WCF channel using netMsmqBinding

我在NetMsmqBinding(MSMQ3)上有一个WCF服务。服务代码并不在WCF交易控制下运行,因为服务中的某些操作不具备交易能力,无法倒车。据我理解,这意味着我得不到毒信息处理等的任何好处。 因此,一旦我的服务代码被引用,信息就永远不再排队了。

如果服务严重失灵,我想防止更多信息丢失。所以我记录了刚刚失败的信息,然后提出了一个明显的例外(而不是例外 ) 。 与其它任何功能、功能、功能、功能、残疾和健康服务一样,我预计这会给频道造成错误( MSMQ 频道发送器, 本案中), 并且没有收到队列上的其他信息 。

但是,我似乎无法让这种行为(没有双关语)起作用。 无论我的服务代码是否排除了例外,我都会不断收到发送到服务处的讯息。

我错过了什么吗? NetMsmqBinding的行为是否像 http 绑定一样, 因为每个请求都会创建一个新的频道? 如果是这样, 那么任何关于如何解决我的问题的想法都会受到欢迎 。

问题回答

服务代码并不在周转基金交易控制下运行,因为服务中的某些操作不具备交易能力,无法退缩。 据我理解,这意味着我得不到任何处理毒物信息等的好处。

交易控制由您决定。 在您想要进行交易的代码周围环绕代码键入 TransactionScope 。 这样可以保证交易是交易的。 如果您执行自定义代码, 这是队列上的一个属性 。 或者, 您可以让每个队列单独在 MSMQ 上进行交易 。

毒药队列不是自动的, 事实上是一个分隔的队列 。 如果您检测到一条无效的信件, 并写给它, 您会写给它 。

因此我记录了刚刚失败的消息,然后提出了一个明显的例外(而不是例外)。

接收 MSMQ 时的例外不起作用 。 它没有什么可以丢弃的例外 。 这是毒药队列起作用的地方 。 您会写到毒药队列, 以表示发生了错误 。

我是不是漏掉了什么? NetMsmqBinding是否表现得像 http 的绑定, 因为每个请求都会创建一个新频道?

NetMsmqBinding 确实为服务器一侧的每条消息产生一条新线索, 即 < em> read , 但写入 MSMQ 并不。 每个频道生成单个线索 。





相关问题
WCF DataMember Serializing questions

Ok, so I was part way through the long winded process of creating DTOs for sending my model over the wire and I don t feel like I m going down the right route. My issue is that most of the entities ...

Access WCF service on same server

I have a .NET website with a WCF service. How do I access the current operations context of my service? One possible work around is to just make a call to the service within the app...but that seems ...

WCF binding error

So I got into work early today and got the latest from source control. When I try to launch our ASP.NET application, I get this exception: "The binding at system.serviceModel/bindings/wsHttpBinding ...

The service operation requires a transaction to be flowed

I am facing strange issue with our WCF service. The same code was working fine until recently we added more OperationContracts(Web Methods). We have common 3 tier architecture. DAL (WCF) BLL Web ...

热门标签