2010-06-14 2 views
1

Je fais juste un peu de travail avec les services RIA et je vois dans la documentation MSDN que ni lui ni aucun parent de sa hiérarchie n'implémente IDisposable. Je me demandais quelle était la décision de conception pour cela ... comme DomainContext est une ressource avec état, ne serait-il pas agréable d'avoir un Dispose() pour le libérer une fois terminé?Pourquoi DomainContext de WCF RIA Services n'implémente-t-il pas le modèle IDisposable?

Merci,

Scott

Répondre

2

Un objet stateful ne signifie pas IDisposable est nécessaire. La vraie question est de savoir ce que vous feriez dans Dispose. Au mieux, la seule chose que vous pourriez théoriquement faire est d'annuler toutes les requêtes Web en attente. Cependant, il vaut probablement mieux laisser le développeur de l'application appeler la bonne méthode Cancel - puisque Load/Submit sont tous des appels explicites, Cancel devrait l'être aussi.

L'existence de IDisposable serait également source de confusion - quand est-ce que cela doit être appelé, et sinon, étant donné l'absence de scénarios concrets.

Par conséquent, aucun IDisposable sur DomainContext.

+0

Merci pour la réponse! Pris pour toujours pour en avoir un sur cette question. J'imaginais «terminer» avec élégance les ressources de la WCF, mais je peux voir où cela serait une décision de logique métier. –