【发布时间】:2020-02-21 21:48:44
【问题描述】:
我正在为处理各种表单提交方法的控制器创建一个接口,这些方法都使用特定的 ViewModel 作为参数。我的目标是使用依赖注入(DI)将接口传递到不同的控制器,该控制器需要执行接口中的一种方法。
当接口被放置在 Web 项目中时,接口和控制器工作正常,但是一旦我将接口移动到接口项目中,对 ViewModels 的引用就中断了,我无法弄清楚如何解决它们。
我可以使用它来直接调用该方法而不使用 DI 路由,但是我们网站的其余部分使用 DI,我不想打破这种模式:
var controller = DependencyResolver.Current.GetService<FormController>();
controller.SendForm(model);
我试过了:
将 Web 项目添加为 Interfaces 项目的程序集引用,但这会创建循环引用(请 VS 告知。)
智能感知,无建议。
添加 Using 指令,但 Web 项目不是可供选择的可用命名空间
这是 4.6.1 上的 ASP.NET MVC 站点。控制器位于 Web 项目下的 Controllers 文件夹中。新接口位于同一解决方案中的单独接口项目中。
【问题讨论】:
-
如何将视图模型也移动到自己的项目中,然后在界面和 Web 项目中引用它?
标签: c# asp.net-mvc dependency-injection interface controller