标签: c# web-services .net-4.5 asp.net-web-api
我正在使用 Microsoft ASP.NET Web API 2 ,我的一个端点必须在内部调用旧的非Microsoft Web服务(不是asmx或svc )。
asmx
svc
我应该在哪个层中调用它?
我目前有: 存储库层:现在完成对DB的所有CRUD调用。
域管理器:其中各个管理器类调用存储库层方法。
我的 Web API控制器方法会调用相应的域管理器方法。
我应该在我的存储库层中使用另一种方法来调用Web服务吗?按照上面的常规模式?
答案 0 :(得分:2)
如果我们遵守SOLID原则,选择就会更清楚:
存储库层:违反SOLID中的“S”,由于Web服务端点的变化而不得不修改存储库类。
域名管理员: 可能
WebAPI控制器:这对我来说最有意义。不需要过度抽象不会被重用的东西。如果Web服务来自多个WebAPI操作,那么域管理器可能更有意义。