저는 Mvc를 처음 사용합니다.asp.net mvc 컨트롤러 생성자에서 세션을 사용하고 싶습니다.
영어로 죄송합니다. ^^
컨트롤러에 asp.net MVC 세션에 대한 몇 가지 질문이 있습니다. 다음과 같이 내가 원하는
시나리오 일이 .. 모든
우선이다, 내 개발 환경은 entityframework 및 mvc3입니다.
로그인 한 사람마다 각각 다른 데이터베이스가 있습니다. 따라서 각각은 서로 다른 데이터베이스를 연결합니다.
그래서 각 사람은 데이터베이스 연결 문자열 인 자체 세션 값을가집니다. 여태까지는 그런대로 잘됐다.
나는 간단한 데이터베이스 저장소가 있으며 각 저장소의 생성자에서 데이터베이스 연결을 변경할 수 있습니다.
리포지토리 클래스를 호출하는 컨트롤러에서 세션 값이 필요합니다. 하지만 컨트롤러의 구성은 세션 값을 유지할 수 없다는 것을 알고 있습니다. 권리?
나는 당신의 좋은 충고를 원합니다. 미리 감사드립니다.
코드 샘플은 다음과 같습니다 :
public class MasterRepository
{
DBEntities _db;
public MasterRepository(string con)
{
_db = new DBEntities(con);
}
}
public class TestController : Controller
{
private string con;
MasterRepository _db;
public TestController()
{
_db = new MasterRepository(Session["conn"].ToString()); // Session is null I want to solve this Part...
}
public ActionResult Index()
{
string con = Session["conn"].ToString(); // Session is assigned.
return View();
}
}
감사합니다. JK !!! 하지만 그건 내가 원하는 것이 아닙니다. 컨트롤러의 컨스트럭터에 데이터베이스 연결을 유지하려면 내 세션 값을 내 컨트롤러에 사용하고 싶습니다. 포인트가 컨트롤러의 생성자로 설정되어 있지 않습니다. MasterRepository _db; public TestController() { // 세션이 null입니다.이 부분을 해결하고 싶습니다 ... _db = new MasterRepository (Session [ "conn"].ToString()); } _db 변수를 내 TestController에 사용하고 싶습니다. 컨트롤러의 생성자에 세션 값을 설정할 수 없다면 다른 방법이 있습니까? – jhKim