Web API调用Web服务

问题描述:

我有一个.net Web API 2应用程序,我需要使用它来调用Web服务(asmx),以查看Web服务是否启动并正常运行。我是建筑的信徒,所以考虑到这一点,我不确定将呼叫发送到Web服务的位置。我发现了一篇文章,建议我将其放入存储库层。这是正确的位置吗?Web API调用Web服务

我会说它更多的是个人喜好+特定项目; IMO可以将该Web服务放置在存储库中,如果它充当数据存储区,或者您可以将其放置在服务的业务层中,则可以执行更多业务相关的任务。

但有一件事我肯定做的是在任何层,使得在使用它之前创建过该服务的包装/抽象:

  • 我可以在层注入这种依赖其正在使用
  • 单位可测试的代码 - DI和mockable
  • 其中此被中消耗的情况下有在服务 - 对WCF或REST等
的任何变化为例如asmx1到asmx2或改变ASMX服务在所述层中没有变更

不确定您是否能够找到具体答案,这是一个有争议的主题,因为意见可能会根据个人喜好而有所不同