2010-05-28 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.Dispatcher / FinalizeProcessingHandler.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.ServiceModel.Channels;
5 using System.ServiceModel;
6
7 namespace System.ServiceModel.Dispatcher
8 {
9         internal class FinalizeProcessingHandler : BaseRequestProcessorHandler
10         {
11                 protected override bool ProcessRequest (MessageProcessingContext mrc)
12                 {
13                         FinishRequest (mrc);
14                         return false;
15                 }
16
17                 void FinishRequest (MessageProcessingContext mrc)
18                 {                               
19                         if (mrc.Operation != null &&  mrc.Operation.ReleaseInstanceAfterCall) {
20                                 mrc.InstanceContext.ReleaseServiceInstance ();
21                         }
22                         mrc.InstanceContext.CloseIfIdle ();                     
23                 }
24         }
25 }