1
asp.net mvc에서 작업 중입니다. 4. 코드 첫 번째 모델과 함께 ninject 및 저장소 패턴을 사용하여 의존적 인 주입을 구현하려고합니다.asp.net mvc에서 ninjectcontrollerfactory에 생성자 인수를 전달하는 방법 DI
IMessageRepository
public interface IMessageRepository
{
void IsMessageRead();
}
MessageRepository
public class MessageRepository:IMessageRepository
{
string id="";
public MessageRepository(string idparam)
{
id=idparam;
}
EFMsgContext context=new EFMsgContext(id);
public void IsMessageRead()
{
...
}
}
EFMsgContext
public class EFMsgContext:Dbcontext
{
public EFMsgContext(string id):base("MyContext")
{
//based on id i will construct a connection string from my database.
}
....
}
내 컨트롤러
public class MYController:Controller
{
private IMessageRepository repo;
public MYController(IMessageRepository repoparam)
{
repo=repoparam;
}
public ActionResult Index()
{
repo.IsMessageRead();
}
}
그리고 난 내가 좋아하는 구상 클래스 내 인터페이스를 결합 의존성 주입해서 Ninject를 사용하고, 여기
ninjectKernel.Bind<IMessageRepository>().To<MessageRepository>();
어떻게 바인딩에 생성자 매개 변수를 전달할 수있는 어떤 방법이 ninjectcontrollerfactory 내부에 연결 문자열을 생성하는 논리를 작성합니다. 제발 나를 안내 해줘.
답장을 보내 주셔서 감사합니다. 'value' 변수는 미리 정의되어 있거나 수동으로 초기화됩니다. –
내 업데이트 된 답변보기 – VJAI
MessageRepository 클래스에 두 개의 생성자 (매개 변수 및 매개 변수 포함)가 있으면 ninject에 두 번 등록해야합니까? 미리 감사드립니다 –