2010-04-06 Jb Evain <jbevain@novell.com>
[mcs.git] / class / System.ServiceModel / System.ServiceModel.Dispatcher / ChangeLog
blob145bb916a6f06644f0fd94ac796a33e32c74c38d
1 2010-04-05  Atsushi Enomoto  <atsushi@ximian.com>
3         * EndpointAddressMessageFilter.cs : check null arg. Return false for
4           no To header case and do not result in NRE.f
6 2010-04-05  Atsushi Enomoto  <atsushi@ximian.com>
8         * BaseMessagesFormatter.cs : hasParameter check is incorrectly
9           restrictive to reject some kinds of pairs.
11 2010-04-02  Atsushi Enomoto  <atsushi@ximian.com>
13         * FaultContractInfo.cs : add serializer property.
15 2010-04-02  Atsushi Enomoto  <atsushi@ximian.com>
17         * ClientOperation.cs : do not automatically fill FaultContractInfos.
19 2010-04-02  Atsushi Enomoto  <atsushi@ximian.com>
21         * OperationInvokerHandler.cs : implement FaultContractInfos support.
22         * ErrorProcessingHandler.cs : update comment. It is not relevant.
24 2010-04-02  Atsushi Enomoto  <atsushi@ximian.com>
26         * EndpointDispatcher.cs : fill FaultContractInfos.
27         * DispatchOperation.cs : do not fill them dynamically/automatically.
28         * ErrorProcessingHandler.cs : added some FIXME notes.
30 2010-03-30  Atsushi Enomoto  <atsushi@ximian.com>
32         * ChannelDispatcher.cs : differentiate EndpointNotFound and
33           ActionNotSupported so that FaultConverter can create appropriate
34           fault messages. Removed extra filter condition on null To item.
35           And create fault messages on *any* server side error, do not let
36           request client infinitely wait for the response until timeout.
38           (RunDestinationUnreachableTest() is still not working but it works
39           when it is SOAP 1.2.)
41 2010-03-30  Atsushi Enomoto  <atsushi@ximian.com>
43         * ChannelDispatcher.cs : for faults, use fault namespace, not that of
44           ReplyAction. Added FIXME comment regarding dispatcher.
46 2010-03-25  Atsushi Enomoto  <atsushi@ximian.com>
48         * OperationInvokerHandler.cs : removed unused code.
50 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
52         * ChannelDispatcher.cs : return EndpointDispatcher at initializing
53           for internal use. Add some locks. Patch by Matt Dargavel.
55 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
57         * ChannelDispatcher.cs : fix wrong method call in open_delegate.
58           Patch by Matt Dargavel.
60 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
62         * ChannelDispatcher.cs : give the actual exception message instead
63           of "error occured".
65 2010-03-18  Atsushi Enomoto  <atsushi@ximian.com>
67         * XPathMessageContext.cs : implement.
68         * XPathMessageFilterTable.cs : add some missing overloads.
70 2010-02-26  Atsushi Enomoto  <atsushi@ximian.com>
72         * InputOrReplyRequestProcessor.cs : now ServiceRuntimeChannel is
73           moved to fake public namespace.
75 2010-02-18  Atsushi Enomoto  <atsushi@ximian.com>
77         * ChannelDispatcher.cs : revert previous change - it could result
78           in blocking some threads and block nunit completion.
80 2010-02-04  Atsushi Enomoto  <atsushi@ximian.com>
82         * ChannelDispatcher.cs : now I can enable service throttling to
83           handle more than one concurrent channels as ASP.NET reply channel
84           got fixed.
86 2010-01-25  Atsushi Enomoto  <atsushi@ximian.com>
88         * ChannelDispatcher.cs : actually instance context provider could be
89           null through the entire service run.
91           Fixed all current nunit failures!
93 2010-01-22  Atsushi Enomoto  <atsushi@ximian.com>
95         * ChannelDispatcher.cs : do not try to iterate channel acceptor when
96           it is being closed.
98 2010-01-19  Atsushi Enomoto  <atsushi@ximian.com>
100         * ChannelDispatcher.cs : another error audit.
102 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
104         * FaultContractInfo.cs : implement.
105         * DispatchOperation.cs, ClientOperation.cs: fill Faults.
107 2010-01-08  Atsushi Enomoto  <atsushi@ximian.com>
109         * EndpointDispatcher.cs, InputOrReplyRequestProcessor.cs :
110           Pass service type to correctly retrieve ServiceContractAttribute
111           from the service type, not callback type.
113 2010-01-07  Atsushi Enomoto  <atsushi@ximian.com>
115         * ChannelDispatcher.cs : make sure to unlock channel acceptor wait
116           handle when the delegated method resulted in an error.
118 2009-12-26  Atsushi Enomoto  <atsushi@ximian.com>
120         * ChannelDispatcher.cs : close such channels that failed to receive
121           request or input.
123 2009-12-26  Atsushi Enomoto  <atsushi@ximian.com>
125         * DispatchRuntime.cs : shortened code and scattered monotodos.
127 2009-12-10  Atsushi Enomoto  <atsushi@ximian.com>
129         * OperationInvokerHandler.cs : fix async operation handling. Since
130           the entire handler chain is designed to be in synchronous, one
131           single handler must not leave its work incomplete (async). Just
132           wait for the async process completion within the handler.
134 2009-12-07  Atsushi Enomoto  <atsushi@ximian.com>
136         * ChannelDispatcher.cs : fix regression; ServiceBehaviorAttribute
137           could be set explicitly null.
139 2009-12-07  Atsushi Enomoto  <atsushi@ximian.com>
141         * ChannelDispatcher.cs : handle AddressFilterMode (.Any only yet).
142         * OperationInvokerHandler.cs : fix wrong IAsyncResult use.
144 2009-12-07  Atsushi Enomoto  <atsushi@ximian.com>
146         * InstanceBehavior.cs : allow nonpublic instance.
147         * DefaultOperationInvoker.cs : do use IsSynchronous correctly.
149 2009-10-22  Atsushi Enomoto  <atsushi@ximian.com>
151         * ChannelDispatcher.cs : disable concurrent channel acceptance
152           until it gets working fine.
154 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
156         * ChannelDispatcher.cs : fix warnings.
158 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
160         * ClientOperation.cs, ClientRuntime.cs : another couple of changes
161           are required to not use non-SL types.
163 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
165         * ClientRuntime.cs : enable Operations property on monotouch.
166           Hopefully it will enable us to build WebHttpBinding.
168 2009-10-09  Atsushi Enomoto  <atsushi@ximian.com>
170          * ChannelDispatcher.cs : OnOpened/OnOpening constraints related
171            changes were required here too. Actually it simplified code.
173 2009-10-06  Atsushi Enomoto  <atsushi@ximian.com>
175         * OperationInvokerHandler.cs : a bit more explaining message.
177 2009-10-05  Atsushi Enomoto  <atsushi@ximian.com>
179         * ChannelDispatcher.cs : make sure to close, *and* abort channels
180           in case they failed to close. Also consider close timeouts.
181           Rename a field to make less confusing.
183 2009-09-17  Atsushi Enomoto  <atsushi@ximian.com>
185         * ChannelDispatcher.cs, EndpointDispatcher.cs :
186           when an EndpointDispatcher is added to ChannelDispatcher, its
187           ChannelDispatcher property is automatically filled. To do this,
188           create a derived collection type for Endpoints (that's what .NET
189           does). Remove extra InitializeEndpoint() argument.
191 2009-09-17  Atsushi Enomoto  <atsushi@ximian.com>
193         * OperationInvokerHandler.cs : make error message a bit verbose.
195 2009-09-16  Atsushi Enomoto  <atsushi@ximian.com>
197         * ChannelDispatcher.cs : make sure to close the request context,
198           some channels such as http keeps opening it. Patch by Levi Bard.
199           Fixed bug #533776.
201 2009-09-14  Atsushi Enomoto  <atsushi@ximian.com>
203         * ChannelDispatcher.cs : do not try to wait for channel closer
204           handle when the loop is not started yet. This fixes lengthy wait
205           in the nunit tests.
207 2009-09-11  Atsushi Enomoto  <atsushi@ximian.com>
209         * EndpointDispatcher.cs : AddressFilter is always non-null.
210         * DispatchRuntime.cs : CallbackClientRuntime seems to be created even
211           for non-callback dispatchers. Fixing this also results in fixes in
212           couple of nunit regressions.
213         * InputOrReplyRequestProcessor.cs : the change above required fix
214           here too (it has null check).
216 2009-09-11  Atsushi Enomoto  <atsushi@ximian.com>
218         * BaseMessagesFormatter.cs, DefaultOperationInvoker.cs:
219           Fix the crash that ref parameter in contract methods caused.
221 2009-09-04  Atsushi Enomoto  <atsushi@ximian.com>
223         * OperationInvokerHandler.cs, ReplyHandler.cs :
224           - Eliminate ReplyHandler use. What is does is simple reply, while
225             it brings inconsistency between sync and async models.
226             What reply handler used to do are now integrated.
227           - Support ErrorHandlers and InputSessionShutdownHandlers.
228             Actually ErrorHandlers were processed at wrong place and they
229             weren't called where they are expected.
230         * InputOrReplyRequestProcessor.cs : hence eliminated ReplyHandler.
231         * BaseRequestProcessor.cs : add FIXME notes on ErrorHandlers.
233 2009-09-04  Atsushi Enomoto  <atsushi@ximian.com>
235         * ChannelDispatcher.cs : remove obsoleted method.
237 2009-09-02  Atsushi Enomoto  <atsushi@ximian.com>
239         * BaseMessagesFormatter.cs :
240           implement XmlBodyWriter.OnCreateBufferedCopy().
242 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
244         * CallbackInstanceContextProvider.cs : new instance context provider
245           used by duplex client dispatcher.
247 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
249         * SecurityHandler.cs : skip callback duplex blocker.
251 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
253         * EndpointDispatcher.cs, ChannelDispatcher.cs : differentiate
254           service dispatch and callback client dispatch at initialization.
256 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
258         * ChannelDispatcher.cs : also made reference to host optional.
260 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
262         * ChannelDispatcher.cs : isolated loop manager class from parent,
263           as well as moved some code from parent.
265 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
267         * ChannelDispatcherCollection.cs : remove extra members.
269 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
271         * ChannelDispatcher.cs, EndpointDispatcher.cs :
272           moved some initialization code from ServiceHostBase, to start
273           reducing dependencies on ServiceHostBase.
275 2009-08-20  Atsushi Enomoto  <atsushi@ximian.com>
277         * ChannelDispatcher.cs : handle unknown message in host event.
279 2009-08-17  Atsushi Enomoto  <atsushi@ximian.com>
281         * EndpointDispatcher.cs : do not try to create wrong filter.
283 2009-08-14  Atsushi Enomoto  <atsushi@ximian.com>
285         * ChannelDispatcher.cs : EndpointNotFoundException message could
286           be a bit kindful.
288 2009-08-11  Atsushi Enomoto  <atsushi@ximian.com>
290         * IOperationInvoker.cs : fix interface.
291         * DefaultOperationInvoker.cs : refresh implementation of the above.
292         * BaseMessagesFormatter.cs, OperationInvokerHandler.cs :
293           dependent changes for above.
295 2009-08-07  Atsushi Enomoto  <atsushi@ximian.com>
297         * InputOrReplyRequestProcessor.cs : now it could return an instance
298           of dynamically generated proxy over DuplexServiceRuntimeChannel.
300 2009-08-07  Atsushi Enomoto  <atsushi@ximian.com>
302         * ClientRuntime.cs : oops, it should have been committed at a time.
303           Change .ctor() args. Make some properties auto.
305 2009-08-07  Atsushi Enomoto  <atsushi@ximian.com>
307         * DispatchRuntime.cs : callback runtime is set later.
309 2009-08-06  Atsushi Enomoto  <atsushi@ximian.com>
311         * ClientRuntime.cs :
312           .ctor() just needs contract. Fill some properties.
314 2009-08-04  Atsushi Enomoto  <atsushi@ximian.com>
316         * ReplyHandler.cs : there is better way to check IsOneWay.
318 2009-08-04  Atsushi Enomoto  <atsushi@ximian.com>
320         * OperationInvokerHandler.cs : One way operation has no reply.
321         * ReplyHandler.cs : ditto.
323 2009-07-31  Atsushi Enomoto  <atsushi@ximian.com>
325         * ChannelDispatcher.cs : raise error on multiple endpoint match
326           (documented at EndpointDispatcher.FilterPriority).
328 2009-07-28  Atsushi Enomoto  <atsushi@ximian.com>
330         * ChannelDispatcher.cs : move Open() inside acceptor lock, so that
331           the channel does not have to be fired Receive() before Open().
333 2009-07-14  Atsushi Enomoto  <atsushi@ximian.com>
335         * DispatchRuntime.cs : add ValidateMustUnderstand.
336         * DispatchOperation.cs : add AutoDisposeParameters.
338 2009-07-02  Atsushi Enomoto  <atsushi@ximian.com>
340         * ChannelDispatcher.cs : when service instance is provided to the
341           ServiceHost, do not reject Type-less state.
343 2009-06-29  Atsushi Enomoto  <atsushi@ximian.com>
345         * ChannelDispatcher.cs : do not iterate extra channel acceptance
346           and hence close channels a bit more gracefully.
348 2009-06-25  Atsushi Enomoto  <atsushi@ximian.com>
350         * ChannelDispatcher.cs : instead of discarding channels, reuse them
351           unless it is closed by session manager (session manager does not
352           work, so channels are not actually closed automatically yet).
354 2009-06-25  Atsushi Enomoto  <atsushi@ximian.com>
356         * SessionInstanceContextProvider.cs : new instance context provider.
358 2009-06-23  Atsushi Enomoto  <atsushi@ximian.com>
360         * DispatchRuntime.cs : do not fill InstanceContextProvider here.
361         * ChannelDispatcher.cs : do it here instead.
362         * ChannelDispatcherCollection.cs : remove TODOs.
364 2009-06-23  Atsushi Enomoto  <atsushi@ximian.com>
366         * InputOrReplyRequestProcessor.cs : bogus initialization.
368 2009-06-18  Atsushi Enomoto  <atsushi@ximian.com>
370         * ChannelDispatcher.cs : significant changes:
371           - simplified Open/Close async.
372           - implement OnAbort().
373           - create ServiceThrottle when it is null.
374           - Channels are accepted as much as the throttle allows, and
375             process requests when accepted an input (now it holds more than
376             one channel).
377           - Support ReceiveSynchronously and use Begin/EndAcceptChannel()
378             for async pattern.
379           - Close all channels and the listener when it is closed.
380           - Cosmetic simplification on channel acceptor delegate creation.
382 2009-06-09  Atsushi Enomoto  <atsushi@ximian.com>
384         * ChannelDispatcher.cs : avoid NRE (actually it should eliminate
385           Thread.Abort()). Added some comments on throttling.
387 2009-06-09  Atsushi Enomoto  <atsushi@ximian.com>
389         * ServiceThrottle.cs : implement.
391 2009-06-08  Atsushi Enomoto  <atsushi@ximian.com>
393         * ChannelDispatcher.cs :
394           Add call to base (see CommunicationObject change).
396 2009-06-01  Atsushi Enomoto  <atsushi@ximian.com>
398         * ChannelDispatcher.cs : handle more errors gracefully.
400 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
402         * ErrorProcessingHandler.cs, InputOrReplyRequestProcessor.cs :
403           they also premise request-reply channel and broke duplex channels.
405 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
407         * ChannelDispatcher.cs : open channel before using it.
409 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
411         * ReplyHandler.cs, InputOrReplyRequestProcessor.cs,
412           MessageProcessingContext.cs : reply processing is also needed by
413           non-request channels (i.e. duplex). Current code basis lacked
414           such possibility. Quick fix by adding duplex support in
415           ReplyHandler so far.
417 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
419         * ChannelDispatcher.cs, SecurityHandler.cs,
420           InputOrReplyRequestProcessor.cs, MessageProcessingContext.cs :
421           remove default communication timeouts from several types. They
422           bring bogus NRE. Instead, fill timeouts in ChannelDispatcher and
423           use it when required (it was actually *only* request processor).
425 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
427         * ChannelDispatcher.cs : wrong channel argument.
429 2009-04-27  Atsushi Enomoto  <atsushi@ximian.com>
431         * DispatchRuntime.cs : some comment.
432         * ChannelDispatcher.cs : ongoing changes to handle listeners and
433           accepted channels at more precise state. Listeners are opened,
434           without accepting channels. Some setup code is done at OnOpen(),
435           while some are done at OnOpened().
437 2009-04-23  Atsushi Enomoto  <atsushi@ximian.com>
439         * DispatchOperation.cs : implement GetFormatter() at service side too.
441 2009-04-01  Atsushi Enomoto  <atsushi@ximian.com>
443         * OperationInvokeHandler.cs : replace MS copycat exception message.
445 2009-02-26  Atsushi Enomoto  <atsushi@ximian.com>
447         * ClientRuntime.cs : fill contractType in .ctor().
449 2009-02-04  Atsushi Enomoto  <atsushi@ximian.com>
451         * BaseMessagesFormatter.cs : do not use non-2.1 CreateInstance().
453 2008-06-18  Noam Lampert <noaml@mainsoft.com>
455         * ChannelDispatcher.cs: Avoid aborting host process on faulty input message.
457 2008-05-22  Noam Lampert <noaml@mainsoft.com>
459         * OperationInvokeHandler.cs: Only return fault reply when TargetInvocation occured (not other internal
460           errors. Serlialize the correct (inner) exception.
461           
462 2008-05-22  Roei Erez  <roeie@mainsoft.com>
463         * fix ContractDescription.GetContract implementation
464         * Refactor Request processing
465         * Add support for message inspectors
466         * Add support for InstanceContextProvider & InstanceProvider, including lifecycles events
467         like: ReleaseServiceInstance, Open, Close...
468         * Add relevant test cases.
470 2008-05-01  Eyal Alaluf <eyala@mainsoft.com>
472         * BaseMessagesFormatter.cs: Handle methods with out parameters that return
473           void.
474         * DispatchOperation.cs, IOperationInvoker.cs: Simplify method invocation.
476 2008-04-22  Igor Zelmanovich <igorz@mainsoft.com>
478         * DispatchOperation.cs: removed dependency on OperationDescription, 
479         allows usage of custom channel dispatcher without endpoint was explicitly 
480         built
482 2008-04-22  Igor Zelmanovich <igorz@mainsoft.com>
484         * MexInstanceContextProvider.cs - remove unused code.
486 2008-04-21  Roei Erez <roeie@mainsoft.com>
488         * ChannelDispatcher.cs - Change order of Dispatcher shutdown
490 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
492         * ChannelDispatcher.cs, EndpointDispatcher.cs: removed dependency on 
493         ServiceDescription/ServiceEndpoint, allows usage of channel dispatcher
494         without endpoint was explicitly built
495         * EndpointDispatcher.cs: Filters lazy evaluation, refactored
496         communication processing, logic moved to channel dispatcher
498 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
500         * ActionMessageFilter.cs: fixed Match, match for "*" action
502 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
504         * DispatchOperation.cs: fixed ProcessRequest, fault message creation
506 2008-04-10  Eyal Alaluf <eyala@mainsoft.com>
508         * DefaultMessageOperationFormatter.cs: Moved to BaseMessagesFormatter.cs.
509         * BaseMessagesFormatter.cs: Refactored so typed messages uses the classes
510           defined here instead of the other way around.
511           Added support for by-ref and out parameters.
512           Added support for XmlSerializerFormat serializaters..
513         * DispatchOperation.cs, ClientOperation.cs: Use BaseMessagesFormatter.Create
515 2008-04-09  Roei Erez <roeie@mainsoft.com>
517         * Remove unused nethod from previous commit
519 2008-04-08  Roei Erez <roeie@mainsoft.com>
521         * ChannelDispatcher.cs
522           - fix 'Attach' logic
523           - Add support for Endpoints property
524           - Remove the hack of 'endpoint_dispatcher' field
525         * ChannelDispatcherCollection.cs
526           - Add support for 'Attach' 'Detach'
527         * EndpointDispatcher.cs
528           - By default create MatchAllMessageFilter.
530 2008-02-17  Atsushi Enomoto  <atsushi@ximian.com>
532         * EndpointDispatcher.cs : we don't need AddressFilter workaround
533           from Feb. 14 anymore.
535 2008-02-17  Atsushi Enomoto  <atsushi@ximian.com>
537         * EndpointDispatcher.cs : after service method call, apply outgoing
538           headers and properties to the returned message.
540 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
542         * ChannelDispatcher.cs : populate DispatchOperations before applying
543           IEndpointBehaviors so that those behaviors can modify dispatch
544           operations.
546 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
548         * DispatchOperation.cs : Action may be null. For such cases, use 
549           MessageDirection to determine the message description.
551 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
553         * EndpointAddressMessageFilter.cs : implement Match(MessageBuffer).
554           Use ordinal string comparison.
555         * PrefixEndpointAddressMessageFilter.cs : implement Match() (both).
557 2008-02-14  Atsushi Enomoto  <atsushi@ximian.com>
559         * EndpointDispatcher.cs : moved AddressFilter application only when
560           DispatchOperation was not selected (it is sort of workaround).
562 2007-08-19  Atsushi Enomoto  <atsushi@ximian.com>
564         * DefaultMessageOperationFormatter.cs : Fixed SerializeReply() for
565           message contract type to process result, not the parameter.
567 2007-08-19  Atsushi Enomoto  <atsushi@ximian.com>
569         * SingletonInstanceContextProvider.cs : new.
571 2007-08-17  Atsushi Enomoto  <atsushi@ximian.com>
573         * DefaultMessageOperationFormatter.cs : dependent changes on
574           message serializer and deserializer.
576 2007-03-24  Atsushi Enomoto  <atsushi@ximian.com>
578         * DefaultMessageOperationFormatter.cs :
579           use it for deserialization as well.
581 2007-03-24  Atsushi Enomoto  <atsushi@ximian.com>
583         * DefaultMessageOperationFormatter.cs : consider message contracts
584           during message serialization/deserialization.
586 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
588         * EndpointDispatcher.cs : now dispatcher-side foundation for token
589           negotiation is ready. Handle negotiation message on its own way.
590         * DispatchOperation.cs : instead of returning irrelevant SOAP Fault,
591           simply raise an error and let FaultConverter do better work.
593 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
595         * EndpointDispatcher.cs : use ErrorHandlers when error was raised.
596           Handle exceptions to make into SOAP Fault, using FaultConverter.
597         * ChannelDispatcher.cs : simply get ServiceEndpoint at Attach().
598         * ChannelDispatcherBase.cs : removed MonoTODOs.
600 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
602         * ChannelDispatcher.cs, DispatchRuntime.cs, EndpointDispatcher.cs :
603           moved most of request/input processing to EndpointDispatcher.cs.
604           Also, ChannelDispatcher now contains code for behavior
605           initialization.
607 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
609         * ChannelDispatcher.cs : some cosmetic refactoring on error handling
610           with comments.
612 2006-12-14  Atsushi Enomoto  <atsushi@ximian.com>
614         * ChannelDispatcher.cs, DispatchRuntime.cs, DispatchOperation.cs :
615           Support OperationContext and OperationContextScope with
616           ServiceRuntimeChannel as its .ctor() input.
618 2006-12-14  Atsushi Enomoto  <atsushi@ximian.com>
620         * DispatchRuntime.cs : raise an error when the DispatchOperation
621           returned null Message.
623 2006-10-18  Ankit Jain  <jankit@novell.com>
625         * MexInstanceContextProvider.cs (HttpGetInstanceContextProvider): New.
626         * DispatchOperation.cs (DoProcessRequest): InstanceContext returned by
627         the provider can be null.
628         * EndpointAddressMessageFilter.cs (Match): Handle IncludeHostNameInComparison.
630 2006-10-12  Atsushi Enomoto  <atsushi@ximian.com>
632         * DispatchOperation.cs : slightly improved exception message.
634 2006-10-06  Ankit Jain  <jankit@novell.com>
636         * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore):
637         ReceiveRequest can return null.
639 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
641         * ClientRuntime.cs : added MaxFaultSize.
643 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
645         * ChannelDispatcher.cs : don't reject anonymous and null To.
647 2006-10-04  Ankit Jain  <jankit@novell.com>
649         * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore): Reply with a 
650         Fault message if message's To doesn't match the endpoint.
651         (ListenerLoopManager.CreateDestinationUnreachable): New.
652         * IInstanceContextProvider.cs: New.
653         * MexInstanceContextProvider.cs: New. InstanceContextProvider for
654         MetadataExchange.
655         (MetadataExchange): Implementation of IMetadataExchange.
656         * DispatchRuntime.cs (InstanceContextProvider): Add missing property.
657         * DispatchOperation.cs (DoProcessRequest): Use InstanceContextProvider
658         if available to obtain service instance.
659         * EndpointDispatcher.cs (.ctor): Set AddressFilter to EndpointAddressMessageFilter.
660         * EndpointAddressMessageFilter.cs (Match): Implement.
662 2006-10-03  Atsushi Enomoto  <atsushi@ximian.com>
664         * ClientRuntime.cs : added InteractiveChannelInitializer.
666 2006-09-12  Atsushi Enomoto  <atsushi@ximian.com>
668         * DispatchOperation.cs : removed extra comment.
670 2006-09-08  Atsushi Enomoto  <atsushi@ximian.com>
672         * DispatchOperation.cs : workaround to send exception detail.
674 2006-09-06  Atsushi Enomoto  <atsushi@ximian.com>
676         * ICallContextInitializer.cs : new file.
677         * DispatchOperation.cs : use above.
678           Not sure if it works correctly though.
680 2006-08-28  Atsushi Enomoto  <atsushi@ximian.com>
682         * DispatchOperation.cs : when there is an error during
683           ProcessRequest(), wrap the exception with MessageFault and return
684           a fault message.
686 2006-08-10  Duncan Mak  <duncan@novell.com>
688         * ExceptionHandler.cs: New file.
690         * ServiceThrottle.cs (MaxConnections): Renamed to
691         MaxConcurrentSessions.
692         (MaxInstances): Renamed to MaxConcurrentInstances.
694 2006-07-27  Atsushi Enomoto  <atsushi@ximian.com>
696         * IInteractiveChannelInitializer.cs : new file.
698 2006-07-14  Atsushi Enomoto  <atsushi@ximian.com>
700         * IErrorHandler.cs : API updates.
702 2006-07-13  Atsushi Enomoto  <atsushi@ximian.com>
704         * DispatchRuntime.cs :
705           it was selecting UnhandledOperation unexpectedly.
706         * DispatchOperation.cs : added FIXME comment.
708 2006-07-13  Atsushi Enomoto  <atsushi@ximian.com>
710         * DefaultMessageOperationFormatter.cs : Remove hack for non-
711           (de)serializing Message-based methods. They are now moved to
712           ClientBase and ServiceHostBase to explicitly set
713           [Serialize|Deserialize][Request|Reply].
715 2006-07-12  Atsushi Enomoto  <atsushi@ximian.com>
717         * DefaultMessageOperationFormatter.cs : don't omit action on
718           SerializeRequest. Do it in SerializeReply.
720 2006-07-12  Atsushi Enomoto  <atsushi@ximian.com>
722         * DefaultMessageOperationFormatter.cs : When addressing version is
723           None, then omit reply action. This logic is moved from MessageImpl.
725 2006-07-11  Atsushi Enomoto  <atsushi@ximian.com>
727         * DefaultMessageOperationFormatter.cs :
728           return message, not parameter[0]. Removed some extra FIXMEs.
730 2006-07-10  Atsushi Enomoto  <atsushi@ximian.com>
732         * DefaultMessageOperationFormatter.cs : when the parameter is
733           Message and the return type is Message, then do not use
734           XmlObjectSerializer.
736 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
738         * PrefixEndpointAddressMessageFilter.cs, FaultContractInfo.cs :
739           new types in June CTP.
740         * ISharedInstanceSessionLifetime.cs:
741           removed in June CTP.
742         * ChannelDispatcher.cs, MatchAllMessageFilter.cs, DispatchRuntime.cs,
743           DispatchOperation.cs, ClientRuntime.cs, MatchNoneMessageFilter.cs,
744           ClientOperation.cs, ActionMessageFilterTable.cs,
745           EndpointAddressMessageFilterTable.cs :
746           several minor fixes for June CTP.
748 2006-07-06  Atsushi Enomoto  <atsushi@ximian.com>
750         * DispatchOperation.cs : MessageFault.DefaultAction vanished.
752 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
754         * IClientFormatter.cs, IClientMessageFormatter.cs,
755           IDispatchFormatter.cs, IDispatchMessageFormatter.cs :
756           renamed former to latter, for each.
758 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
760         * ChannelDispatcher.cs, DispatchRuntime.cs :
761           IRequestContext -> RequestContext.
763 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
765         * ChannelDispatcher.cs, IDispatchFormatter.cs,
766           DefaultMessageOperationFormatter.cs, IClientFormatter.cs,
767           DispatchOperation.cs, ClientOperation.cs :
768           some June CTP updates.
770 2006-06-22  Atsushi Enomoto  <atsushi@ximian.com>
772         * DefaultMessageOperationFormatter.cs : implement SerializeRequest()
773           and DeserializeReply(). Now simple ClientBase<T> sample is working.
775 2006-06-22  Atsushi Enomoto  <atsushi@ximian.com>
777         * ClientOperation.cs : added GetFormatter() to support message
778           serialization/deserialization.
779         * DispatchOperation.cs : made some internal members private
780           (they are exposed extraneously). Commented out debugging code.
782 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
784         * DefaultMessageOperationFormatter.cs : In SerializeReply(), use
785           custom BodyWriter() and use MessagePartDescription names. Now
786           return value and other (ref/out) parameters could be equivalently
787           serialized (at this method; to support them more love is needed).
789 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
791         * DefaultMessageOperationFormatter.cs :
792           Action for response is null (though it is likely conditional).
794 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
796         * DefaultMessageOperationFormatter.cs :
797           true DeserializeReply implementation using Message.CreateMessage()
798           with DataContractSerializer (not complete though).
800 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
802         * ChannelDispatcher.cs, DispatchOperation.cs,
803           ChannelDispatcherBase.cs :
804           some updated API fixes.
806 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
808         * EndpointDispatcher.cs : moved from Sys.ServiceModel.
810 2006-04-20  Atsushi Enomoto  <atsushi@ximian.com>
812         * ClientRuntime.cs : some minor collection instantiation and comments.
814 2006-04-07  Atsushi Enomoto  <atsushi@ximian.com>
816         * DispatchOperation.cs : Implemented internal MessageVersion.
817           hacked instance provision by using Activator.CreateInstance.
818         * DefaultMessageOperationFormatter.cs : fixed DeserializeRequest to
819           be functional. Implemented SerializeReply.
821 2006-04-05  Atsushi Enomoto  <atsushi@ximian.com>
823         * DispatchOperation.cs : return SOAP fault message for nonexistent
824           request Action.
825         * DefaultMessageOperationFormatter.cs : implemented
826           DeserializeRequest(), though there is no working example.
828 2006-03-17  Atsushi Enomoto  <atsushi@ximian.com>
830         * DispatchOperation.cs : implemented logic to acquire
831           OperationDescription. Added code for default IDispatchFormatter
832           implementation.
833         * DispatchRuntime.cs : fix warning.
834         * DefaultMessageOperationFormatter.cs : new file, for default
835           IDispatchFormatter implementation (not done yet).
836         * ChannelDispatcher.cs : create EndpointDispatcher in Attach and
837           bind to this instance.
839 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
841         * ChannelDispatcherCollection.cs : added parameterless ctor().
842         * ChannelDispatcher.cs DispatchRuntime.cs DispatchOperation.cs :
843           Set some initial field values as proved in unit tests.
844           Request/input processing is still ongoing.
846 2006-03-13  Atsushi Enomoto  <atsushi@ximian.com>
848         * ChannelDispatcher.cs
849           DispatchRuntime.cs
850           DispatchOperation.cs : added request/input processing code.
852 2006-03-07  Atsushi Enomoto  <atsushi@ximian.com>
854         * ChannelDispatcher.cs : Get "AcceptChannel" method without ambiguity.
856 2006-03-07  Atsushi Enomoto  <atsushi@ximian.com>
858         * ChannelDispatcher.cs : Added request-processing code.
860 2006-03-06  Atsushi Enomoto  <atsushi@ximian.com>
862         * ChannelDispatcher.cs : implement Attach() and Detach() more to work.
864 2006-02-23  Atsushi Enomoto  <atsushi@ximian.com>
866         * DispatchBehavior.cs : 
867           Dependent fixes for System.IdentityModel reorgainzation.
869 2006-02-23  Atsushi Enomoto  <atsushi@ximian.com>
871         * FilterNodeQuotaExceededException.cs
872           FilterInvalidBodyAccessException.cs DispatchBehavior.cs
873           DispatchOperation.cs NavigatorInvalidBodyAccessException.cs
874           MatchNoneFilter.cs ActionFilter.cs
875           MultipleFilterMatchesException.cs Filter.cs
876           IInstanceContextInitializer.cs XPathFilter.cs
877           IDispatchOperationSelector.cs MatchAllFilter.cs
878           ActionFilterTable.cs EndpointAddressFilter.cs FilterTable.cs
879           EndpointFilterTable.cs XPathMessageContext.cs
880           IEndpointDispatcher.cs ProxyBehavior.cs
881           ProxyOperation.cs XPathFilterTable.cs
882           EndpointAddressFilterTable.cs InvalidBodyAccessException.cs
883           IFilterTable.cs IOperationInvoker.cs :
884           moved from System.ServiceModel due to the API changes.