Her web isteği sırasında bir denetleyici yapıcısının çağrılmadığı anlaşılıyor. Bunun doğru olduğunu varsayarsak, bir denetleyicinin yaşam döngüsü nedir? Uygulamanın başlangıcında "yapılandırıldı", sonra önbelleğe alınır ve her bir web isteğiyle ona gönderilen requestcontext ile çağrılır mı?ASP.NET MVC Denetleyici Kullanım Döngüsü
Açıkçası, kurucu davranışını nasıl taklit etmeyeceğimi sormuyorum, normalde yapıcıda yapacağım şeyleri başlatmak için OnActionExecuting olayını kullanıyorum. Ayrıca, birim ve sistem testi için kontrolörler üzerinde kurucular kullanıyorum.
Teşekkürler!
Neden olsa? Niye ya? –
Kendime bunun neden ve nasıl olması gerektiğine kendimi batırdım ve öğrettim. EF kullanarak okuma/yazma eylemleri ve görünümleri ile denetleyiciler oluşturuyordum. Oluşturulan kod, EF Context örneği için özel bir örnek değişkeni oluşturdu. Akıllı olacağımı ve bunu statik bir değişken yapacağımı düşündüm. Sorun şu ki, bu denetleyicinin kapsamı dışındaki bir şey veritabanını değiştirirse, statik bağlam asla bilemez. Şimdi bir örnek değişkeni olarak bırakıyorum ve her bir istekle yeni bir örnek oluşturulduğundan, içerik veritabanında herhangi bir değişiklik görebiliyor. – ThatAintWorking
Tüm durumun parametreler içinde (yani işlevsel bir stilde) bulunduğu bir Web API'sinde, bir denetleyicinin neden yeniden kullanılamayacağı konusunda bir neden yoktur (görebildiğim). Tasarım gereği iplik güvenlidir. API vatansız olduğu için –