2013-02-21 34 views

cevap

14

Varsayılan olarak TempData, ASP.NET oturumunu depo olarak kullanır. Bu nedenle sunucuda saklanır (InProc varsayılan değerdir). Ancak diğer ASP.NET Oturum durumu modlarını tanımlayabilirsiniz: StateServer ve SqlServer. ASP.NET oturumunu kullanmak istemiyorsanız, özel bir TempData sağlayıcısı da yazabilir ve depolamayı kendiniz halledebilirsiniz.

+0

Çok teşekkür ederim. ASP.NET oturum durumu modları hakkında daha fazla araştırma yapacağım, bu benim için yeni. –

5

Bu oturum depolama saklanır, ancak TempData ve Session arasındaki tek önemli fark vardır: yalnızca kullanıcının oturumu için, bu yüzden biz okudum sadece kadar o devam ederse ve alır

TempData kullanılabilir HTTP İsteği'nin sonunda temizlendi.

TempData kullanımına uygun bir senaryo, verilerin iki istek arasında devam etmesi gerektiğidir - bir yönlendirme senaryosu. Düşünebildiğim başka bir senaryo, bir POST işlemi başarısız olduktan sonra bir hata mesajı vermek.

+0

Teşekkürler, keşke kabul edildiğinde birden fazla cevap seçebilseydim. –

+1

* TempData yalnızca bir kullanıcının oturumu için kullanılabilir, bu yüzden sadece okuduğumuza ve bir HTTP İsteği sonunda temizlenene kadar devam eder. * Oturumlar, HTTP isteklerinden daha uzun sürer. Yani * TempData sadece bir kullanıcının oturumu için kullanılabilir * doğru mu? –