技术开发 频道

Programming WCF Services:分步操作、实例停用与限流


ReleaseInstanceMode.None



ReleaseInstanceMode.BeforeCall



ReleaseInstanceMode.AfterCall



ReleaseInstanceMode.BeforeAndAfterCall 

   准确地选择ReleaseInstanceMode,可以有效地提高系统的性能,优化内存以及资源的利用。 

   除了可以通过应用OperationBehaviorAttribute应用ReleaseInstanceMode,也可以通过编程方式在服务的操作中显式地完成对实例的停止。方法是利用InstanceContext的ReleaseServiceInstance()方法:
class MyService : IMyContract,IDisposable
{
public void MyMethod( )
{
//Do some work then
OperationContext.Current.InstanceContext.ReleaseServiceInstance( );
}
public void Dispose( )
{...}
}
    这两种实现实例停止的方式还可以结合使用,例如在应用了OperationBehavior特性,并将ReleaseInstanceMode设置为BeforeCall的方法中,如果显式调用ReleaseServiceInstance()方法,其效果就相当于将ReleaseInstanceMode设置为BeforeAndAfterCall。
0
相关文章