Tôi đã cố gắng làm cho một trang web dưới dạng phiên ít hơn. Vì vậy, hãy thêm <sessionState mode="Off" />
vào web.config của tôi. Sau đó, nếu tôi thực thiSử dụng TempData trong khi <sessionState mode = "Off" />
Session["test"] = "yes";
Tôi gặp lỗi "Tham chiếu đối tượng không được đặt thành thể hiện của đối tượng. ”Điều này là tốt.
Nhưng với cấu hình này tôi có thể thiết
TempData["test"] = "yes";
trong điều khiển và in TempData["test"];
trong Xem trang. Nó hoạt động tốt.
Theo MSDN “Giá trị thuộc tính TempData được lưu trữ trong trạng thái phiên”.
Vì vậy, nếu tôi đề cập đến <sessionState mode="Off" />
thì TempData hoạt động như thế nào? ASP.NET vẫn lưu trữ TempData trong phiên làm việc hay ở một nơi khác?
Tôi hiểu về ITempDataProvider và cảm ơn vì điều đó. Tôi cũng thấy rằng thay vì phiên bạn có thể giữ dữ liệu tạm thời trong cookie từ đây. http://afana.me/post/session-less-controllers-and-TempData-ASPNET-MVC.aspx. –
Có, anh chàng đã triển khai nhà cung cấp TempData của riêng mình dựa trên cookie. –
Chúng tôi sử dụng TempData cho yêu cầu duy nhất phải không? Vì vậy, chúng tôi đặt giá trị cho TempData trong bộ điều khiển và vào trang Xem. Tôi có một nghi ngờ còn lại về "Hãy thử để loại bỏ nó khỏi tầm nhìn của bạn và bạn sẽ nhận được lỗi". Bạn có thể giải thích điều đó không? –