嵌套的WCF服务调用不起作用?

时间:2011-09-13 23:06:09

标签: wcf endpoint wcf-endpoint

我有许多WCF服务,它们从ASP.NET MVC应用程序中调用某个函数。

  1. MVC应用程序调用Contract-Service(WCF服务)
  2. 合同服务在处理过程中称为合同购买服务(WCF 服务)
  3. 合同购买服务呼叫SAM-Utility-Service(WCF服务)
  4. 当我从Contract-Buy-Service运行我的TDD测试用例时,它完全正常。因为呼叫从Contract-Buy-Service转到SAM-Utility-Service。但是当电话来自时 合同服务=>合同购买服务=> SAM型多功能服务 我总是得到在配置中找不到SAM-Utility-Service端点的错误。

    合同购买服务和合同服务中都有SAM-Utility-Service的服务参考。我已检查该服务是否已托管并已启动并正在运行。当我尝试通过浏览器查看时,我可以获得WSDL。

    有人可以告诉我为什么服务电话不会经历多层次,或者我在这里做错了什么?

    谢谢!

1 个答案:

答案 0 :(得分:0)

首先,我认为合同服务不需要服务参考或任何SAM-Utility-Service知识。除非它需要与该服务直接通信以进行其他操作 - 在这种情况下,我建议另一个服务端点无论如何 - 它不应该知道合同购买服务正在做什么。这导致您的服务更紧密地耦合,这消除了面向服务的一个主要好处。

您的问题的原因可能是很多事情(就像WCF一样)。但是,由于选择不当,使用不当或交易错位,我遇到了类似的问题。

例如,考虑合同服务和合同购买服务参与交易。 SAM-Utility-Service也可能需要交易,但需要新的交易。如果第二个事务没有正确地参与第一个事务,那么第一个事务可能不允许它提交或者可能不提交自己。

第一步可能是让所有三个人在没有任何交易的情况下协同工作。