1
只要做一些RIA服务的工作,我会在MSDN文档中看到它或它的任何父母都没有实现IDisposable。我想知道这个设计决定是什么......因为DomainContext是一个有状态的资源,当Dispose()完成时释放它是不是很好?为什么WCF RIA Services的DomainContext没有实现IDisposable模式?
谢谢,
斯科特
只要做一些RIA服务的工作,我会在MSDN文档中看到它或它的任何父母都没有实现IDisposable。我想知道这个设计决定是什么......因为DomainContext是一个有状态的资源,当Dispose()完成时释放它是不是很好?为什么WCF RIA Services的DomainContext没有实现IDisposable模式?
谢谢,
斯科特
甲状态的对象并不意味着IDisposable的是必需的。
真正的问题是你会在Dispose中做什么。
充其量,理论上你唯一能做的就是中止任何挂起的web请求。不过,应用程序开发人员可能更愿意调用正确的Cancel方法 - 因为Load/Submit都是显式调用,所以Cancel应该也是如此。
IDisposable的存在也会引起混淆 - 何时需要调用,何时不需要,因为缺乏具体的场景。
因此,在DomainContext上没有IDisposable。
谢谢你的回答!在这个问题上永远得到一个。我想象的是“优雅地”终止/释放WCF资源,但我可以看到这将是一个商业逻辑决策。 – 2010-07-05 20:04:39