2015-07-10 24 views
6

Bir ASP.NET MVC uygulamasında bir üçüncü taraf kitaplığı başvurusu yapıyorum, çünkü kitaplığın tasarımı nedeniyle, bir sınıf gerektirir (örneğin, ClassA) Sadece bir kez örneklendirilmeli ve kullanımdan sonra atılmalıdır. Bu yüzden, MVC uygulamasında statik bir sınıf tanımladım ve içerdeki harici ClassA'u başlattım (ClassA ağır bir şekilde kullanılıyor). Ama ClassA tek örneğini imha etmenin etkili yolu nedir? Application_End'un doğru yer olmadığına inanıyorum. ama hangi olayda veya yöntemde yapılacak doğru yer?Bir ASP.NET web uygulamasında statik sınıfta bildirilen kaynaklar nasıl dağıtılır

iisreset senaryoları, uygulama havuzu geri dönüşümü ve sunucunun durduğu veya yeniden başlattığı ve kaynağın uygun şekilde atıldığından emin olmak için gerekli diğer durumları düşünmeliyim.

+0

Bertaraf edilmesi gereken kaynak nedir? Süreç biterse, başka bir şey yapmanız gerektiğinden emin misiniz? Elektrik kesintisiyle nasıl başa çıkardınız? –

+0

Kafası karışık. Kullanım anahtar sözcüğünü kullanarak nesnenin otomatik olarak doğru şekilde imha edilmesini sağlayabilir misiniz? Nesnenin kullanıldığı her zaman neden bir iisreset yapmak istediğinizden emin değilsiniz. – SoftwareCarpenter

+0

@JonSkeet, dış kütüphane yerel kaynakları oluşturduğundan, onu atmam gerekir. – Shuping

cevap

0

Benim önerim. İlk önce ClassA için özel bir alan oluşturun. Alanın boş olup olmadığını kontrol eden bir özelliğe sahiptir. Null ise yeni bir örnek oluşturur. Değilse, nesneyi atın ve yeni bir ClassA örneği döndürün. Mantıklı mı?

İlgili konular