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