2010-07-12 Atsushi Enomoto * InputOrReplyProcessor.cs : remove SecurityHandler. WS-Trust must be handled before endpoint dispatching (it must not pass contract filter) and doesn't make sense to be here. * SecurityHandler.cs : move to old-code. 2010-07-12 Atsushi Enomoto * SecurityHandler.cs : add new using. Though this class will vanish. 2010-07-12 Atsushi Enomoto * ChannelDispatcher.cs : apply ErrorHandlers to IInputChannel too. 2010-07-09 Atsushi Enomoto * PostReceiveRequestHandler.cs : don't replace correctly passed-by- reference Message with wrong, consumed Message. 2010-07-09 Atsushi Enomoto * ChannelDispatcher.cs : do not swallow exception during RequestContext.get_RequestMessage() and thus return SOAP Fault for MessageSecurityException to the client. 2010-07-08 Atsushi Enomoto * ChannelDispatcher.cs : support ErrorHandlers. 2010-07-05 Atsushi Enomoto * ChannelDispatcher.cs : moved IChannelDispatcherBoundListener from HttpChannelListener.cs. 2010-07-02 Atsushi Enomoto * MessageProcessingContext.cs : update possibly-updated ReplyMessage to send, by message inspectors. Fix by Clovis Ribeiro, should fix bug #619534. 2010-06-24 Atsushi Enomoto * ChannelDispatcher.cs : enable service throttling again. This time Http(Listener), ASP.NET and TCP listeners all work. 2010-06-21 Atsushi Enomoto * ChannelDispatcher.cs : raise an error if IChannelListener is already opened when it's opening. 2010-06-21 Atsushi Enomoto * ServiceThrottle.cs : take ChannelDispatcher to validate setters. 2010-06-17 Atsushi Enomoto * ChannelDispatcher.cs : add simple bool field to mark for mex channel. 2010-06-17 Atsushi Enomoto * ChannelDispatcher.cs : MessageVersion check is moved to ServiceHostBase. 2010-06-14 Atsushi Enomoto * OperationInvokerHandler.cs, MessageProcessingContext.cs : ChannelDispatcher may be null, so check its availability before using it. Don't use it, when possible. * DispatchOperation.cs : remove unused member. 2010-06-04 Atsushi Enomoto * EndpointDispatcher.cs, BaseMessagesFormatter.cs: Now MessageDescription.Direction is differentiated from "IsRequest" property, to precisely identify request/reply in callbacks. Also now we don't have to create extraneous ContractDescription for callbacks. 2010-06-03 Atsushi Enomoto * EndpointDispatcher.cs, DispatchRuntime.cs, ClientRuntime.cs : now Callback[Dispatch|Client]Runtime properties are always filled so that users can configure the callback runtimes (not sure such configured runtimes work fine yet, but it is a required step). * InputOrReplyRequestProcessor.cs : instead of HasCallbackRuntime hack, use CallbackClientRuntime.CallbackContractType for checking callback existence. 2010-05-28 Atsushi Enomoto * ClientOperation.cs, DispatchOperation.cs : remove extra fields. 2010-05-28 Atsushi Enomoto * ClientOperation.cs : do the same for client side too. 2010-05-28 Atsushi Enomoto * DispatchOperation.cs : on callback channels ChannelDispatcher is not available. Wait for something like ClientRuntime.ChannelFactory. 2010-05-28 Atsushi Enomoto * EndpointDispatcher.cs : some comments. * DispatchOperation.cs : remove on-the-fly dependency on OperationDescription. Add immutable check on each property. 2010-05-27 Atsushi Enomoto * EndpointDispatcher.cs : fill CallbackDispatchRuntime. Add some FIXME comments for ongoing fixes. 2010-05-26 Atsushi Enomoto * OperationInvokerHandler.cs : assign RelatesTo header item here. 2010-05-21 Atsushi Enomoto * ChannelDispatcher.cs : disable slottling again :( It still fails to process concurrent requests if there is service metadata channel and MaxConcurrentSessions > 1 on non-ASP.NET channels. 2010-05-21 Atsushi Enomoto * ChannelDispatcher.cs : enable throttling again. Though issues regarding parallel request is not here (multiple dispatchers can accept a channels for each), and HTTP channels do not accept more than one channel at a time anyways. 2010-04-28 Atsushi Enomoto * ChannelDispatcher.cs : add workaround to set ChannelDispatcher to IChannelListener. Avoid null ChannelDispatcher in http listener. 2010-04-20 Atsushi Enomoto * OperationInvokerHandler.cs : workaround NRE issue in AsyncCallTest. The original code was worse than this workaround. 2010-04-05 Atsushi Enomoto * EndpointAddressMessageFilter.cs : check null arg. Return false for no To header case and do not result in NRE.f 2010-04-05 Atsushi Enomoto * BaseMessagesFormatter.cs : hasParameter check is incorrectly restrictive to reject some kinds of pairs. 2010-04-02 Atsushi Enomoto * FaultContractInfo.cs : add serializer property. 2010-04-02 Atsushi Enomoto * ClientOperation.cs : do not automatically fill FaultContractInfos. 2010-04-02 Atsushi Enomoto * OperationInvokerHandler.cs : implement FaultContractInfos support. * ErrorProcessingHandler.cs : update comment. It is not relevant. 2010-04-02 Atsushi Enomoto * EndpointDispatcher.cs : fill FaultContractInfos. * DispatchOperation.cs : do not fill them dynamically/automatically. * ErrorProcessingHandler.cs : added some FIXME notes. 2010-03-30 Atsushi Enomoto * ChannelDispatcher.cs : differentiate EndpointNotFound and ActionNotSupported so that FaultConverter can create appropriate fault messages. Removed extra filter condition on null To item. And create fault messages on *any* server side error, do not let request client infinitely wait for the response until timeout. (RunDestinationUnreachableTest() is still not working but it works when it is SOAP 1.2.) 2010-03-30 Atsushi Enomoto * ChannelDispatcher.cs : for faults, use fault namespace, not that of ReplyAction. Added FIXME comment regarding dispatcher. 2010-03-25 Atsushi Enomoto * OperationInvokerHandler.cs : removed unused code. 2010-03-24 Atsushi Enomoto * ChannelDispatcher.cs : return EndpointDispatcher at initializing for internal use. Add some locks. Patch by Matt Dargavel. 2010-03-24 Atsushi Enomoto * ChannelDispatcher.cs : fix wrong method call in open_delegate. Patch by Matt Dargavel. 2010-03-24 Atsushi Enomoto * ChannelDispatcher.cs : give the actual exception message instead of "error occured". 2010-03-18 Atsushi Enomoto * XPathMessageContext.cs : implement. * XPathMessageFilterTable.cs : add some missing overloads. 2010-02-26 Atsushi Enomoto * InputOrReplyRequestProcessor.cs : now ServiceRuntimeChannel is moved to fake public namespace. 2010-02-18 Atsushi Enomoto * ChannelDispatcher.cs : revert previous change - it could result in blocking some threads and block nunit completion. 2010-02-04 Atsushi Enomoto * ChannelDispatcher.cs : now I can enable service throttling to handle more than one concurrent channels as ASP.NET reply channel got fixed. 2010-01-25 Atsushi Enomoto * ChannelDispatcher.cs : actually instance context provider could be null through the entire service run. Fixed all current nunit failures! 2010-01-22 Atsushi Enomoto * ChannelDispatcher.cs : do not try to iterate channel acceptor when it is being closed. 2010-01-19 Atsushi Enomoto * ChannelDispatcher.cs : another error audit. 2010-01-13 Atsushi Enomoto * FaultContractInfo.cs : implement. * DispatchOperation.cs, ClientOperation.cs: fill Faults. 2010-01-08 Atsushi Enomoto * EndpointDispatcher.cs, InputOrReplyRequestProcessor.cs : Pass service type to correctly retrieve ServiceContractAttribute from the service type, not callback type. 2010-01-07 Atsushi Enomoto * ChannelDispatcher.cs : make sure to unlock channel acceptor wait handle when the delegated method resulted in an error. 2009-12-26 Atsushi Enomoto * ChannelDispatcher.cs : close such channels that failed to receive request or input. 2009-12-26 Atsushi Enomoto * DispatchRuntime.cs : shortened code and scattered monotodos. 2009-12-10 Atsushi Enomoto * OperationInvokerHandler.cs : fix async operation handling. Since the entire handler chain is designed to be in synchronous, one single handler must not leave its work incomplete (async). Just wait for the async process completion within the handler. 2009-12-07 Atsushi Enomoto * ChannelDispatcher.cs : fix regression; ServiceBehaviorAttribute could be set explicitly null. 2009-12-07 Atsushi Enomoto * ChannelDispatcher.cs : handle AddressFilterMode (.Any only yet). * OperationInvokerHandler.cs : fix wrong IAsyncResult use. 2009-12-07 Atsushi Enomoto * InstanceBehavior.cs : allow nonpublic instance. * DefaultOperationInvoker.cs : do use IsSynchronous correctly. 2009-10-22 Atsushi Enomoto * ChannelDispatcher.cs : disable concurrent channel acceptance until it gets working fine. 2009-10-16 Atsushi Enomoto * ChannelDispatcher.cs : fix warnings. 2009-10-16 Atsushi Enomoto * ClientOperation.cs, ClientRuntime.cs : another couple of changes are required to not use non-SL types. 2009-10-16 Atsushi Enomoto * ClientRuntime.cs : enable Operations property on monotouch. Hopefully it will enable us to build WebHttpBinding. 2009-10-09 Atsushi Enomoto * ChannelDispatcher.cs : OnOpened/OnOpening constraints related changes were required here too. Actually it simplified code. 2009-10-06 Atsushi Enomoto * OperationInvokerHandler.cs : a bit more explaining message. 2009-10-05 Atsushi Enomoto * ChannelDispatcher.cs : make sure to close, *and* abort channels in case they failed to close. Also consider close timeouts. Rename a field to make less confusing. 2009-09-17 Atsushi Enomoto * ChannelDispatcher.cs, EndpointDispatcher.cs : when an EndpointDispatcher is added to ChannelDispatcher, its ChannelDispatcher property is automatically filled. To do this, create a derived collection type for Endpoints (that's what .NET does). Remove extra InitializeEndpoint() argument. 2009-09-17 Atsushi Enomoto * OperationInvokerHandler.cs : make error message a bit verbose. 2009-09-16 Atsushi Enomoto * ChannelDispatcher.cs : make sure to close the request context, some channels such as http keeps opening it. Patch by Levi Bard. Fixed bug #533776. 2009-09-14 Atsushi Enomoto * ChannelDispatcher.cs : do not try to wait for channel closer handle when the loop is not started yet. This fixes lengthy wait in the nunit tests. 2009-09-11 Atsushi Enomoto * EndpointDispatcher.cs : AddressFilter is always non-null. * DispatchRuntime.cs : CallbackClientRuntime seems to be created even for non-callback dispatchers. Fixing this also results in fixes in couple of nunit regressions. * InputOrReplyRequestProcessor.cs : the change above required fix here too (it has null check). 2009-09-11 Atsushi Enomoto * BaseMessagesFormatter.cs, DefaultOperationInvoker.cs: Fix the crash that ref parameter in contract methods caused. 2009-09-04 Atsushi Enomoto * OperationInvokerHandler.cs, ReplyHandler.cs : - Eliminate ReplyHandler use. What is does is simple reply, while it brings inconsistency between sync and async models. What reply handler used to do are now integrated. - Support ErrorHandlers and InputSessionShutdownHandlers. Actually ErrorHandlers were processed at wrong place and they weren't called where they are expected. * InputOrReplyRequestProcessor.cs : hence eliminated ReplyHandler. * BaseRequestProcessor.cs : add FIXME notes on ErrorHandlers. 2009-09-04 Atsushi Enomoto * ChannelDispatcher.cs : remove obsoleted method. 2009-09-02 Atsushi Enomoto * BaseMessagesFormatter.cs : implement XmlBodyWriter.OnCreateBufferedCopy(). 2009-08-24 Atsushi Enomoto * CallbackInstanceContextProvider.cs : new instance context provider used by duplex client dispatcher. 2009-08-24 Atsushi Enomoto * SecurityHandler.cs : skip callback duplex blocker. 2009-08-24 Atsushi Enomoto * EndpointDispatcher.cs, ChannelDispatcher.cs : differentiate service dispatch and callback client dispatch at initialization. 2009-08-21 Atsushi Enomoto * ChannelDispatcher.cs : also made reference to host optional. 2009-08-21 Atsushi Enomoto * ChannelDispatcher.cs : isolated loop manager class from parent, as well as moved some code from parent. 2009-08-21 Atsushi Enomoto * ChannelDispatcherCollection.cs : remove extra members. 2009-08-21 Atsushi Enomoto * ChannelDispatcher.cs, EndpointDispatcher.cs : moved some initialization code from ServiceHostBase, to start reducing dependencies on ServiceHostBase. 2009-08-20 Atsushi Enomoto * ChannelDispatcher.cs : handle unknown message in host event. 2009-08-17 Atsushi Enomoto * EndpointDispatcher.cs : do not try to create wrong filter. 2009-08-14 Atsushi Enomoto * ChannelDispatcher.cs : EndpointNotFoundException message could be a bit kindful. 2009-08-11 Atsushi Enomoto * IOperationInvoker.cs : fix interface. * DefaultOperationInvoker.cs : refresh implementation of the above. * BaseMessagesFormatter.cs, OperationInvokerHandler.cs : dependent changes for above. 2009-08-07 Atsushi Enomoto * InputOrReplyRequestProcessor.cs : now it could return an instance of dynamically generated proxy over DuplexServiceRuntimeChannel. 2009-08-07 Atsushi Enomoto * ClientRuntime.cs : oops, it should have been committed at a time. Change .ctor() args. Make some properties auto. 2009-08-07 Atsushi Enomoto * DispatchRuntime.cs : callback runtime is set later. 2009-08-06 Atsushi Enomoto * ClientRuntime.cs : .ctor() just needs contract. Fill some properties. 2009-08-04 Atsushi Enomoto * ReplyHandler.cs : there is better way to check IsOneWay. 2009-08-04 Atsushi Enomoto * OperationInvokerHandler.cs : One way operation has no reply. * ReplyHandler.cs : ditto. 2009-07-31 Atsushi Enomoto * ChannelDispatcher.cs : raise error on multiple endpoint match (documented at EndpointDispatcher.FilterPriority). 2009-07-28 Atsushi Enomoto * ChannelDispatcher.cs : move Open() inside acceptor lock, so that the channel does not have to be fired Receive() before Open(). 2009-07-14 Atsushi Enomoto * DispatchRuntime.cs : add ValidateMustUnderstand. * DispatchOperation.cs : add AutoDisposeParameters. 2009-07-02 Atsushi Enomoto * ChannelDispatcher.cs : when service instance is provided to the ServiceHost, do not reject Type-less state. 2009-06-29 Atsushi Enomoto * ChannelDispatcher.cs : do not iterate extra channel acceptance and hence close channels a bit more gracefully. 2009-06-25 Atsushi Enomoto * ChannelDispatcher.cs : instead of discarding channels, reuse them unless it is closed by session manager (session manager does not work, so channels are not actually closed automatically yet). 2009-06-25 Atsushi Enomoto * SessionInstanceContextProvider.cs : new instance context provider. 2009-06-23 Atsushi Enomoto * DispatchRuntime.cs : do not fill InstanceContextProvider here. * ChannelDispatcher.cs : do it here instead. * ChannelDispatcherCollection.cs : remove TODOs. 2009-06-23 Atsushi Enomoto * InputOrReplyRequestProcessor.cs : bogus initialization. 2009-06-18 Atsushi Enomoto * ChannelDispatcher.cs : significant changes: - simplified Open/Close async. - implement OnAbort(). - create ServiceThrottle when it is null. - Channels are accepted as much as the throttle allows, and process requests when accepted an input (now it holds more than one channel). - Support ReceiveSynchronously and use Begin/EndAcceptChannel() for async pattern. - Close all channels and the listener when it is closed. - Cosmetic simplification on channel acceptor delegate creation. 2009-06-09 Atsushi Enomoto * ChannelDispatcher.cs : avoid NRE (actually it should eliminate Thread.Abort()). Added some comments on throttling. 2009-06-09 Atsushi Enomoto * ServiceThrottle.cs : implement. 2009-06-08 Atsushi Enomoto * ChannelDispatcher.cs : Add call to base (see CommunicationObject change). 2009-06-01 Atsushi Enomoto * ChannelDispatcher.cs : handle more errors gracefully. 2009-05-18 Atsushi Enomoto * ErrorProcessingHandler.cs, InputOrReplyRequestProcessor.cs : they also premise request-reply channel and broke duplex channels. 2009-05-13 Atsushi Enomoto * ChannelDispatcher.cs : open channel before using it. 2009-05-13 Atsushi Enomoto * ReplyHandler.cs, InputOrReplyRequestProcessor.cs, MessageProcessingContext.cs : reply processing is also needed by non-request channels (i.e. duplex). Current code basis lacked such possibility. Quick fix by adding duplex support in ReplyHandler so far. 2009-05-13 Atsushi Enomoto * ChannelDispatcher.cs, SecurityHandler.cs, InputOrReplyRequestProcessor.cs, MessageProcessingContext.cs : remove default communication timeouts from several types. They bring bogus NRE. Instead, fill timeouts in ChannelDispatcher and use it when required (it was actually *only* request processor). 2009-05-13 Atsushi Enomoto * ChannelDispatcher.cs : wrong channel argument. 2009-04-27 Atsushi Enomoto * DispatchRuntime.cs : some comment. * ChannelDispatcher.cs : ongoing changes to handle listeners and accepted channels at more precise state. Listeners are opened, without accepting channels. Some setup code is done at OnOpen(), while some are done at OnOpened(). 2009-04-23 Atsushi Enomoto * DispatchOperation.cs : implement GetFormatter() at service side too. 2009-04-01 Atsushi Enomoto * OperationInvokeHandler.cs : replace MS copycat exception message. 2009-02-26 Atsushi Enomoto * ClientRuntime.cs : fill contractType in .ctor(). 2009-02-04 Atsushi Enomoto * BaseMessagesFormatter.cs : do not use non-2.1 CreateInstance(). 2008-06-18 Noam Lampert * ChannelDispatcher.cs: Avoid aborting host process on faulty input message. 2008-05-22 Noam Lampert * OperationInvokeHandler.cs: Only return fault reply when TargetInvocation occured (not other internal errors. Serlialize the correct (inner) exception. 2008-05-22 Roei Erez * fix ContractDescription.GetContract implementation * Refactor Request processing * Add support for message inspectors * Add support for InstanceContextProvider & InstanceProvider, including lifecycles events like: ReleaseServiceInstance, Open, Close... * Add relevant test cases. 2008-05-01 Eyal Alaluf * BaseMessagesFormatter.cs: Handle methods with out parameters that return void. * DispatchOperation.cs, IOperationInvoker.cs: Simplify method invocation. 2008-04-22 Igor Zelmanovich * DispatchOperation.cs: removed dependency on OperationDescription, allows usage of custom channel dispatcher without endpoint was explicitly built 2008-04-22 Igor Zelmanovich * MexInstanceContextProvider.cs - remove unused code. 2008-04-21 Roei Erez * ChannelDispatcher.cs - Change order of Dispatcher shutdown 2008-04-17 Vladimir Krasnov * ChannelDispatcher.cs, EndpointDispatcher.cs: removed dependency on ServiceDescription/ServiceEndpoint, allows usage of channel dispatcher without endpoint was explicitly built * EndpointDispatcher.cs: Filters lazy evaluation, refactored communication processing, logic moved to channel dispatcher 2008-04-17 Vladimir Krasnov * ActionMessageFilter.cs: fixed Match, match for "*" action 2008-04-17 Vladimir Krasnov * DispatchOperation.cs: fixed ProcessRequest, fault message creation 2008-04-10 Eyal Alaluf * DefaultMessageOperationFormatter.cs: Moved to BaseMessagesFormatter.cs. * BaseMessagesFormatter.cs: Refactored so typed messages uses the classes defined here instead of the other way around. Added support for by-ref and out parameters. Added support for XmlSerializerFormat serializaters.. * DispatchOperation.cs, ClientOperation.cs: Use BaseMessagesFormatter.Create 2008-04-09 Roei Erez * Remove unused nethod from previous commit 2008-04-08 Roei Erez * ChannelDispatcher.cs - fix 'Attach' logic - Add support for Endpoints property - Remove the hack of 'endpoint_dispatcher' field * ChannelDispatcherCollection.cs - Add support for 'Attach' 'Detach' * EndpointDispatcher.cs - By default create MatchAllMessageFilter. 2008-02-17 Atsushi Enomoto * EndpointDispatcher.cs : we don't need AddressFilter workaround from Feb. 14 anymore. 2008-02-17 Atsushi Enomoto * EndpointDispatcher.cs : after service method call, apply outgoing headers and properties to the returned message. 2008-02-15 Atsushi Enomoto * ChannelDispatcher.cs : populate DispatchOperations before applying IEndpointBehaviors so that those behaviors can modify dispatch operations. 2008-02-15 Atsushi Enomoto * DispatchOperation.cs : Action may be null. For such cases, use MessageDirection to determine the message description. 2008-02-15 Atsushi Enomoto * EndpointAddressMessageFilter.cs : implement Match(MessageBuffer). Use ordinal string comparison. * PrefixEndpointAddressMessageFilter.cs : implement Match() (both). 2008-02-14 Atsushi Enomoto * EndpointDispatcher.cs : moved AddressFilter application only when DispatchOperation was not selected (it is sort of workaround). 2007-08-19 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : Fixed SerializeReply() for message contract type to process result, not the parameter. 2007-08-19 Atsushi Enomoto * SingletonInstanceContextProvider.cs : new. 2007-08-17 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : dependent changes on message serializer and deserializer. 2007-03-24 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : use it for deserialization as well. 2007-03-24 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : consider message contracts during message serialization/deserialization. 2007-03-07 Atsushi Enomoto * EndpointDispatcher.cs : now dispatcher-side foundation for token negotiation is ready. Handle negotiation message on its own way. * DispatchOperation.cs : instead of returning irrelevant SOAP Fault, simply raise an error and let FaultConverter do better work. 2007-03-07 Atsushi Enomoto * EndpointDispatcher.cs : use ErrorHandlers when error was raised. Handle exceptions to make into SOAP Fault, using FaultConverter. * ChannelDispatcher.cs : simply get ServiceEndpoint at Attach(). * ChannelDispatcherBase.cs : removed MonoTODOs. 2007-03-07 Atsushi Enomoto * ChannelDispatcher.cs, DispatchRuntime.cs, EndpointDispatcher.cs : moved most of request/input processing to EndpointDispatcher.cs. Also, ChannelDispatcher now contains code for behavior initialization. 2007-03-07 Atsushi Enomoto * ChannelDispatcher.cs : some cosmetic refactoring on error handling with comments. 2006-12-14 Atsushi Enomoto * ChannelDispatcher.cs, DispatchRuntime.cs, DispatchOperation.cs : Support OperationContext and OperationContextScope with ServiceRuntimeChannel as its .ctor() input. 2006-12-14 Atsushi Enomoto * DispatchRuntime.cs : raise an error when the DispatchOperation returned null Message. 2006-10-18 Ankit Jain * MexInstanceContextProvider.cs (HttpGetInstanceContextProvider): New. * DispatchOperation.cs (DoProcessRequest): InstanceContext returned by the provider can be null. * EndpointAddressMessageFilter.cs (Match): Handle IncludeHostNameInComparison. 2006-10-12 Atsushi Enomoto * DispatchOperation.cs : slightly improved exception message. 2006-10-06 Ankit Jain * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore): ReceiveRequest can return null. 2006-10-05 Atsushi Enomoto * ClientRuntime.cs : added MaxFaultSize. 2006-10-05 Atsushi Enomoto * ChannelDispatcher.cs : don't reject anonymous and null To. 2006-10-04 Ankit Jain * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore): Reply with a Fault message if message's To doesn't match the endpoint. (ListenerLoopManager.CreateDestinationUnreachable): New. * IInstanceContextProvider.cs: New. * MexInstanceContextProvider.cs: New. InstanceContextProvider for MetadataExchange. (MetadataExchange): Implementation of IMetadataExchange. * DispatchRuntime.cs (InstanceContextProvider): Add missing property. * DispatchOperation.cs (DoProcessRequest): Use InstanceContextProvider if available to obtain service instance. * EndpointDispatcher.cs (.ctor): Set AddressFilter to EndpointAddressMessageFilter. * EndpointAddressMessageFilter.cs (Match): Implement. 2006-10-03 Atsushi Enomoto * ClientRuntime.cs : added InteractiveChannelInitializer. 2006-09-12 Atsushi Enomoto * DispatchOperation.cs : removed extra comment. 2006-09-08 Atsushi Enomoto * DispatchOperation.cs : workaround to send exception detail. 2006-09-06 Atsushi Enomoto * ICallContextInitializer.cs : new file. * DispatchOperation.cs : use above. Not sure if it works correctly though. 2006-08-28 Atsushi Enomoto * DispatchOperation.cs : when there is an error during ProcessRequest(), wrap the exception with MessageFault and return a fault message. 2006-08-10 Duncan Mak * ExceptionHandler.cs: New file. * ServiceThrottle.cs (MaxConnections): Renamed to MaxConcurrentSessions. (MaxInstances): Renamed to MaxConcurrentInstances. 2006-07-27 Atsushi Enomoto * IInteractiveChannelInitializer.cs : new file. 2006-07-14 Atsushi Enomoto * IErrorHandler.cs : API updates. 2006-07-13 Atsushi Enomoto * DispatchRuntime.cs : it was selecting UnhandledOperation unexpectedly. * DispatchOperation.cs : added FIXME comment. 2006-07-13 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : Remove hack for non- (de)serializing Message-based methods. They are now moved to ClientBase and ServiceHostBase to explicitly set [Serialize|Deserialize][Request|Reply]. 2006-07-12 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : don't omit action on SerializeRequest. Do it in SerializeReply. 2006-07-12 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : When addressing version is None, then omit reply action. This logic is moved from MessageImpl. 2006-07-11 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : return message, not parameter[0]. Removed some extra FIXMEs. 2006-07-10 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : when the parameter is Message and the return type is Message, then do not use XmlObjectSerializer. 2006-07-07 Atsushi Enomoto * PrefixEndpointAddressMessageFilter.cs, FaultContractInfo.cs : new types in June CTP. * ISharedInstanceSessionLifetime.cs: removed in June CTP. * ChannelDispatcher.cs, MatchAllMessageFilter.cs, DispatchRuntime.cs, DispatchOperation.cs, ClientRuntime.cs, MatchNoneMessageFilter.cs, ClientOperation.cs, ActionMessageFilterTable.cs, EndpointAddressMessageFilterTable.cs : several minor fixes for June CTP. 2006-07-06 Atsushi Enomoto * DispatchOperation.cs : MessageFault.DefaultAction vanished. 2006-07-05 Atsushi Enomoto * IClientFormatter.cs, IClientMessageFormatter.cs, IDispatchFormatter.cs, IDispatchMessageFormatter.cs : renamed former to latter, for each. 2006-07-05 Atsushi Enomoto * ChannelDispatcher.cs, DispatchRuntime.cs : IRequestContext -> RequestContext. 2006-07-05 Atsushi Enomoto * ChannelDispatcher.cs, IDispatchFormatter.cs, DefaultMessageOperationFormatter.cs, IClientFormatter.cs, DispatchOperation.cs, ClientOperation.cs : some June CTP updates. 2006-06-22 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : implement SerializeRequest() and DeserializeReply(). Now simple ClientBase sample is working. 2006-06-22 Atsushi Enomoto * ClientOperation.cs : added GetFormatter() to support message serialization/deserialization. * DispatchOperation.cs : made some internal members private (they are exposed extraneously). Commented out debugging code. 2006-06-20 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : In SerializeReply(), use custom BodyWriter() and use MessagePartDescription names. Now return value and other (ref/out) parameters could be equivalently serialized (at this method; to support them more love is needed). 2006-06-20 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : Action for response is null (though it is likely conditional). 2006-06-20 Atsushi Enomoto * DefaultMessageOperationFormatter.cs : true DeserializeReply implementation using Message.CreateMessage() with DataContractSerializer (not complete though). 2006-05-29 Atsushi Enomoto * ChannelDispatcher.cs, DispatchOperation.cs, ChannelDispatcherBase.cs : some updated API fixes. 2006-05-29 Atsushi Enomoto * EndpointDispatcher.cs : moved from Sys.ServiceModel. 2006-04-20 Atsushi Enomoto * ClientRuntime.cs : some minor collection instantiation and comments. 2006-04-07 Atsushi Enomoto * DispatchOperation.cs : Implemented internal MessageVersion. hacked instance provision by using Activator.CreateInstance. * DefaultMessageOperationFormatter.cs : fixed DeserializeRequest to be functional. Implemented SerializeReply. 2006-04-05 Atsushi Enomoto * DispatchOperation.cs : return SOAP fault message for nonexistent request Action. * DefaultMessageOperationFormatter.cs : implemented DeserializeRequest(), though there is no working example. 2006-03-17 Atsushi Enomoto * DispatchOperation.cs : implemented logic to acquire OperationDescription. Added code for default IDispatchFormatter implementation. * DispatchRuntime.cs : fix warning. * DefaultMessageOperationFormatter.cs : new file, for default IDispatchFormatter implementation (not done yet). * ChannelDispatcher.cs : create EndpointDispatcher in Attach and bind to this instance. 2006-03-16 Atsushi Enomoto * ChannelDispatcherCollection.cs : added parameterless ctor(). * ChannelDispatcher.cs DispatchRuntime.cs DispatchOperation.cs : Set some initial field values as proved in unit tests. Request/input processing is still ongoing. 2006-03-13 Atsushi Enomoto * ChannelDispatcher.cs DispatchRuntime.cs DispatchOperation.cs : added request/input processing code. 2006-03-07 Atsushi Enomoto * ChannelDispatcher.cs : Get "AcceptChannel" method without ambiguity. 2006-03-07 Atsushi Enomoto * ChannelDispatcher.cs : Added request-processing code. 2006-03-06 Atsushi Enomoto * ChannelDispatcher.cs : implement Attach() and Detach() more to work. 2006-02-23 Atsushi Enomoto * DispatchBehavior.cs : Dependent fixes for System.IdentityModel reorgainzation. 2006-02-23 Atsushi Enomoto * FilterNodeQuotaExceededException.cs FilterInvalidBodyAccessException.cs DispatchBehavior.cs DispatchOperation.cs NavigatorInvalidBodyAccessException.cs MatchNoneFilter.cs ActionFilter.cs MultipleFilterMatchesException.cs Filter.cs IInstanceContextInitializer.cs XPathFilter.cs IDispatchOperationSelector.cs MatchAllFilter.cs ActionFilterTable.cs EndpointAddressFilter.cs FilterTable.cs EndpointFilterTable.cs XPathMessageContext.cs IEndpointDispatcher.cs ProxyBehavior.cs ProxyOperation.cs XPathFilterTable.cs EndpointAddressFilterTable.cs InvalidBodyAccessException.cs IFilterTable.cs IOperationInvoker.cs : moved from System.ServiceModel due to the API changes.