e64dd2fb8fb75945f9584d316bd2d30d85cb4b3b
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.Dispatcher / ReplyHandler.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 ReplyHandler : BaseRequestProcessorHandler
10         {
11                 IDuplexChannel duplex;
12
13                 public ReplyHandler (IChannel channel)
14                 {
15                         duplex = channel as IDuplexChannel;
16                 }
17
18                 protected override bool ProcessRequest (MessageProcessingContext mrc)
19                 {
20                         // if IsOneWay then no need to handle reply
21                         if (mrc.ReplyMessage == null)
22                                 return false;
23
24                         if (duplex != null)
25                                 mrc.Reply (duplex, true);
26                         else
27                                 mrc.Reply (true);
28                         return false;
29                 }
30         }
31 }