Отвечаю на свой собственный вопрос, может кому то в будущем пригодится.
Поскольку у меня была задача передавать в конструктор идентификатор пользователя то я реализовал это через httpContext, если нужно передавать что либо другое то думаю переделать особого труда не составит кому нужно, итак имеем интерфейс:
public interface IBidInterface
{
void AddBid(BidDto bidDto,List<GoodDto> goodDto);
}
его реализация:
public class BidLogic : IBidInterface
{
private readonly xyzContext _context;
private readonly User _user;
public BidLogic(string userId)
{
_context = new xyzContext();
_user = new ApplicationUserManager(new UserStore<User>(_context)).FindById(userId);
}
public void AddBid(BidDto bidDto, List<GoodDto> goodDto)
{
//...
}
добавляем в NinjectDependencyResolver следующее:
private void AddBindings()
{
kernel.Bind<IBidInterface>().To<BidLogic>().WithConstructorArgument("userId",GetUser);
}
private static object GetUser(IContext context)
{
var httpContext = context.Kernel.Get<HttpContextBase>();
if (httpContext != null && httpContext.Session != null)
{
var arg = httpContext.User.Identity.GetUserId();
if (arg != null && !string.IsNullOrEmpty(arg))
{
return arg;
}
}
return null;
}
все....теперь в конструктор будет передаваться значение userId