ASP.NET MVC 에서 사용하는 방법을 세션 4 응용 프로그램?

나는 새로운 ASP.NET MVC. Php 쉽다고 만들기 위해 사용한 전과 기록을 세션이고, 사용자 선택 기준으로 현재 세션 변수.

나는 언제 어디서나 인터넷에 모습을 보여줄 수 있는 단순 단계별 자습서는 나 C # ASP.NET MVC 내 작성하는방법에 및 사용 세션 4 응용 프로그램. 제가 만들겠습니다 세션 및 사용자 변수를 사용할 수 있고 내 컨트롤러에서는 어디서부터든 액세스하려면 com/go/4e6b330a_kr 내 LINQ 질의입니다.

미리 감사합니다 -!

질문에 대한 의견 (2)
해결책

시도하시겠습니까

//adding data to session
//assuming the method below will return list of Products

var products=Db.GetProducts();

//Store the products to a session

Session["products"]=products;

//To get what you have stored to a session

var products=Session["products"] as List;

//to clear the session value

Session["products"]=null;
해설 (9)

또한 자연 상태 비저장 인해 웹 세션은 유지한 극단적으로 유용한 방법을 통해 그들 간에 개체를 저장하여 요청률 세리얼리싱 세션에서.

이 완벽한 览侩 荤례 하는 경우, 일반 응용 프로그램을 통해 정보를 저장할 수 있는 추가 데이터베이스 페이징됩니다 액세스하려면 각 요청을 객체의 데이터를 저장할 수 있으며, 이 같은 요청을 런즈리얼리스트 및 각 있습니다.

  • 우리의 재사용 가능한 object:* 시리얼화가 가능합니다
[Serializable]
public class UserProfileSessionData
{
    public int UserId { get; set; }

    public string EmailAddress { get; set; }

    public string FullName { get; set; }
}
  • Case:* 사용
public class LoginController : Controller {

    [HttpPost]
    public ActionResult Login(LoginModel model)
    {
        if (ModelState.IsValid)
        {
            var profileData = new UserProfileSessionData {
                UserId = model.UserId,
                EmailAddress = model.EmailAddress,
                FullName = model.FullName
            }

            this.Session["UserProfile"] = profileData;
        }
    }

    public ActionResult LoggedInStatusMessage()
    {
        var profileData = this.Session["UserProfile"] as UserProfileSessionData;

        /* From here you could output profileData.FullName to a view and
        save yourself unnecessary database calls */
    }

}

그 후, 우리는 이 모든 컨트롤러에서는 없이도 사용할 수 있는 것이 이 객체에는 만들 때 또는 그 안에 포함된 데이터에 대한 데이터베이스를 쿼리하지 다시.

  • 자금을 사용하여 세션이 객체에는 의존성 주입 *

& # 39 의 이상적인 세계 됩니다; 프로그램을 아닌 인터페이스입니다 구축상의 & # 39. 제어 반전 컨테이너입니다 사용 및 투입, 당신의 컨트롤러거 너회의 시리얼화가 가능합니다 세션이고 객체에는 선택의 그것을비유하사 그러하매 (이 예제에서는 스트루스터마프 tpc. it& I& # 39, m, s # 39 한 가장 익숙한).

public class WebsiteRegistry : Registry
{
    public WebsiteRegistry()
    {
        this.For().HybridHttpOrThreadLocalScoped().Use(() => GetUserProfileFromSession());   
    }

    public static IUserProfileSessionData GetUserProfileFromSession()
    {
        var session = HttpContext.Current.Session;
        if (session["UserProfile"] != null)
        {
            return session["UserProfile"] as IUserProfileSessionData;
        }

        /* Create new empty session object */
        session["UserProfile"] = new UserProfileSessionData();

        return session["UserProfile"] as IUserProfileSessionData;
    }
}

이 'Global.asax.cs' 파일을 등록하면 해당 됩니다.

39 투입에 대해 잘 알고 있는 사람들을 위한 aren&, t, 블로그 게시물 제목에 대한 좀 더 깊이 세션이고 객체에는 찾을 수 있습니다. here.

  • Warning:* 한 마디

39 의 가치가 있는 최소로 유지되어야 한다고 it& 세션, 큰 세션을 시작할 수 있는 성능 문제가 발생할.

39, s 도 중요한 데이터를 저장하지 않도록 권장됨 it& 그들 (비밀번호란 등).

해설 (3)

ASP.NET 과 ASP.NET MVC 그것은 여분이라일러라 세션이고 스테이드 작동합니다.

[ASP.NET 세션이고 스테이드 媛쒖슂] [1]

이 일을 할 수 있는 값을 저장하는 세션 객체에는:

Session["FirstName"] = FirstNameTextBox.Text;

읽어들이려면 가치:

var firstName = Session["FirstName"];

[1]: 100%29.aspx http://msdn.microsoft.com/en-us/library/ms178581%28v = vs.

해설 (3)

모든 종류의 데이터를 사용하여 세션을 저장할 수 있습니다.

Session["VariableName"]=value;

이 변수는 마지막 20 분 정도는 된다.

해설 (0)

임의의 값을 저장할 수 있는 등 세션의 와-u 세션 [&quot FirstName";] = 퍼스트남터스트상자스테스트. 하지만 내아기마저도 제안하세요 u 로 값을 취할 수 있는 모든 정보기술 (it) 및 u 모델 할당할지 정적임 필드에 있는 액세스하려면 필드 값을 프로그램. # 39, t need u don& 세션에만 적용됩니다. 세션 피해야 합니다.

public class Employee
{
   public int UserId { get; set; }
   public string EmailAddress { get; set; }
   public static string FullName { get; set; }
}

왕루이e.풀나미 = &quot ABC&quot 컨트롤러거 대한;;; 이제 이 전체 이름 어디든요 와-u 액세스하려면 애플리케이션.

해설 (1)