在控制台应用程序中处理来自不同项目的依赖项
Handling a dependancy from different project in a console application
我的解决方案中有以下项目结构:
Project.Repository(Class 图书馆)
Project.Core(Class 图书馆)
Project.Web(MVC5 网络前端)
Project.Scheduler(控制台应用程序)
我正在使用 Unity 来处理我的 DI。
我的问题
我有一个位于核心层的方法,此方法依赖于 IProcessDataService
接口,该接口正在我的 Unity 配置中处理。
//Service
container.RegisterType<IProcessDataService, ProcessDataService>(new PerRequestLifetimeManager());
我最近创建了我的控制台应用程序项目,该项目基本上将调用上述方法,并将 运行 按 windows 计划进行。
考虑到我对我的核心接口有依赖性,我该如何从我的控制台应用程序的静态 Main 方法访问这个方法?
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Begin Automation Process");
//Run method from Core layer which has a dependency on IProcessDataService
}
}
您的控制台应用程序的主要方法是您的 composition root,您应该在其中进行所有连接。
然后你可以从容器中解析你的对象并调用它的方法。
我的解决方案中有以下项目结构:
Project.Repository(Class 图书馆)
Project.Core(Class 图书馆)
Project.Web(MVC5 网络前端)
Project.Scheduler(控制台应用程序)
我正在使用 Unity 来处理我的 DI。
我的问题
我有一个位于核心层的方法,此方法依赖于 IProcessDataService
接口,该接口正在我的 Unity 配置中处理。
//Service
container.RegisterType<IProcessDataService, ProcessDataService>(new PerRequestLifetimeManager());
我最近创建了我的控制台应用程序项目,该项目基本上将调用上述方法,并将 运行 按 windows 计划进行。
考虑到我对我的核心接口有依赖性,我该如何从我的控制台应用程序的静态 Main 方法访问这个方法?
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Begin Automation Process");
//Run method from Core layer which has a dependency on IProcessDataService
}
}
您的控制台应用程序的主要方法是您的 composition root,您应该在其中进行所有连接。
然后你可以从容器中解析你的对象并调用它的方法。