我在一个解决方案中有两个项目。一个 ASP.NET Web 应用程序和 ASMX Web 服务应用程序。ASMX Web 服务在 ASP.NET Web 应用程序(作为 Web 引用)中被引用。
在 aspx 页面中,我们创建一个 Web Service 对象并在其上调用方法,如下所示。
MyWebService myWebService = new MyWebService();
UserDetail userDetail = myWebService.GetUserDetail(25);
这意味着我的 aspx 页面依赖于 MyWebService 的具体实现。根据依赖倒置原则(DIP),代码应该依赖于抽象,而不是具体的实现,并且这些抽象不应该依赖于细节;细节应该取决于抽象。
我如何删除这种依赖关系?
在谷歌上,我遇到了以下文章,这些文章与我正在寻找的内容相似但不完全一样。
- http://www.springframework.net/doc-latest/reference/html/webservices.html
- http://www.codeproject.com/Articles/310677/ASP-NET-Web-Services-Dependency-Injection-using-Un
- http://www.gitshah.com/2011/11/integrating-springnet-with-asmx.html
所有这些文章都解释了将依赖项注入到 asmx Web 服务中,而不是将 asmx Web 服务依赖项注入到 asmx Web 应用程序中。
我是术语依赖注入的新手,我可能想错了方向,走错了方向。
请帮助我理解这种困惑。