Я следую луковой архитектуре для своего веб-API и проекта AngularJS. В части Infrastructure.DependencyResolution я использую Simple Injector. Вот мой код:
[assembly: PreApplicationStartMethod(typeof(IocConfig), "RegisterDependencies")]
namespace Infrastructure.DependencyResolution
{
public class IocConfig
{
private static Container _container;
public static void RegisterDependencies()
{
_container = new Container();
_container.Verify();
_container.RegisterWebApiRequest<IEntitiesContext>(() =>
{
return new MyContext();
});
_container.RegisterWebApiRequest<IUserRepository, UserRepository>();
_container.RegisterWebApiRequest<IAccountService, AccountService>();
_container.RegisterWebApiRequest<IUnitOfWork, UnitOfWork>();
}
}
}
Теперь, если я попытаюсь ввести URL-адрес для перехода к моему контроллеру учетной записи, я получаю эту ошибку:
Произошла ошибка при попытке создать контроллер типа «AccountController». Убедитесь, что у контроллера есть публичный конструктор без параметров.
Я провел поиск и обнаружил, что Simple Injector имеет другой код для Web Api, предложенный их сайтом< /а> Как:
// This is an extension method from the integration package.
container.RegisterWebApiControllers(GlobalConfiguration.Configuration);
Я также скопировал это, но он не принял GlobalConfiguration.Configuration, я думаю, потому что я использую его в проекте библиотеки.
Когда я устанавливаю точку останова в методе RegisterDependencies
, Visual Studio не останавливается в точке останова.
Может ли кто-нибудь показать мне путь, куда идти?