Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mcs/class
diff options
context:
space:
mode:
authorAtsushi Eno <atsushieno@gmail.com>2009-08-07 06:30:33 +0400
committerAtsushi Eno <atsushieno@gmail.com>2009-08-07 06:30:33 +0400
commit15dc8695add25b872b809edac634adf2b4763f8f (patch)
tree3ae4450bf04a3c811737b06e6d83e1ef427d1c66 /mcs/class
parent44bcad3d2e5f6ce445f9f2666ac70de033e716d7 (diff)
2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
* ServiceRuntimeChannel.cs : created derived duplex type. svn path=/trunk/mcs/; revision=139537
Diffstat (limited to 'mcs/class')
-rwxr-xr-xmcs/class/System.ServiceModel/System.ServiceModel/ChangeLog4
-rw-r--r--mcs/class/System.ServiceModel/System.ServiceModel/ServiceRuntimeChannel.cs34
2 files changed, 38 insertions, 0 deletions
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/ChangeLog b/mcs/class/System.ServiceModel/System.ServiceModel/ChangeLog
index e4fc2051104..10493c46781 100755
--- a/mcs/class/System.ServiceModel/System.ServiceModel/ChangeLog
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/ChangeLog
@@ -1,5 +1,9 @@
2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
+ * ServiceRuntimeChannel.cs : created derived duplex type.
+
+2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
+
* ClientRuntimeChannel.cs : close/abort channels.
factory is optional now.
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel/ServiceRuntimeChannel.cs b/mcs/class/System.ServiceModel/System.ServiceModel/ServiceRuntimeChannel.cs
index 686f7850113..2f743240e9f 100644
--- a/mcs/class/System.ServiceModel/System.ServiceModel/ServiceRuntimeChannel.cs
+++ b/mcs/class/System.ServiceModel/System.ServiceModel/ServiceRuntimeChannel.cs
@@ -34,6 +34,40 @@ using System.ServiceModel.Dispatcher;
namespace System.ServiceModel
{
+ internal class DuplexServiceRuntimeChannel : ServiceRuntimeChannel, IDuplexContextChannel
+ {
+ public DuplexServiceRuntimeChannel (IChannel channel, TimeSpan openTimeout, TimeSpan closeTimeout)
+ : base (channel, openTimeout, closeTimeout)
+ {
+ }
+
+ public bool AutomaticInputSessionShutdown {
+ get { throw new NotImplementedException (); }
+ set { throw new NotImplementedException (); }
+ }
+
+ public InstanceContext CallbackInstance { get; set; }
+
+ Action<TimeSpan> session_shutdown_delegate;
+
+ public void CloseOutputSession (TimeSpan timeout)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public IAsyncResult BeginCloseOutputSession (TimeSpan timeout, AsyncCallback callback, object state)
+ {
+ if (session_shutdown_delegate == null)
+ session_shutdown_delegate = new Action<TimeSpan> (CloseOutputSession);
+ return session_shutdown_delegate.BeginInvoke (timeout, callback, state);
+ }
+
+ public void EndCloseOutputSession (IAsyncResult result)
+ {
+ session_shutdown_delegate.EndInvoke (result);
+ }
+ }
+
internal class ServiceRuntimeChannel : CommunicationObject, IServiceChannel
{
IExtensionCollection<IContextChannel> extensions;