Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

27 lines
782 B
C#

using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel.Channels;
using System.ServiceModel;
namespace System.ServiceModel.Dispatcher
{
internal class FinalizeProcessingHandler : BaseRequestProcessorHandler
{
protected override bool ProcessRequest (MessageProcessingContext mrc)
{
FinishRequest (mrc);
return false;
}
void FinishRequest (MessageProcessingContext mrc)
{
if (mrc.Operation != null && mrc.Operation.IsTerminating && mrc.OperationContext.Channel.InputSession != null)
mrc.OperationContext.Channel.Close (); // FIXME: timeout?
if (mrc.Operation != null && mrc.Operation.ReleaseInstanceAfterCall)
mrc.InstanceContext.ReleaseServiceInstance ();
mrc.InstanceContext.CloseIfIdle ();
}
}
}