1 2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
3 * ChannelDispatcher.cs : actually instance context provider could be
4 null through the entire service run.
6 Fixed all current nunit failures!
8 2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
10 * ChannelDispatcher.cs : do not try to iterate channel acceptor when
13 2010-01-19 Atsushi Enomoto <atsushi@ximian.com>
15 * ChannelDispatcher.cs : another error audit.
17 2010-01-13 Atsushi Enomoto <atsushi@ximian.com>
19 * FaultContractInfo.cs : implement.
20 * DispatchOperation.cs, ClientOperation.cs: fill Faults.
22 2010-01-08 Atsushi Enomoto <atsushi@ximian.com>
24 * EndpointDispatcher.cs, InputOrReplyRequestProcessor.cs :
25 Pass service type to correctly retrieve ServiceContractAttribute
26 from the service type, not callback type.
28 2010-01-07 Atsushi Enomoto <atsushi@ximian.com>
30 * ChannelDispatcher.cs : make sure to unlock channel acceptor wait
31 handle when the delegated method resulted in an error.
33 2009-12-26 Atsushi Enomoto <atsushi@ximian.com>
35 * ChannelDispatcher.cs : close such channels that failed to receive
38 2009-12-26 Atsushi Enomoto <atsushi@ximian.com>
40 * DispatchRuntime.cs : shortened code and scattered monotodos.
42 2009-12-10 Atsushi Enomoto <atsushi@ximian.com>
44 * OperationInvokerHandler.cs : fix async operation handling. Since
45 the entire handler chain is designed to be in synchronous, one
46 single handler must not leave its work incomplete (async). Just
47 wait for the async process completion within the handler.
49 2009-12-07 Atsushi Enomoto <atsushi@ximian.com>
51 * ChannelDispatcher.cs : fix regression; ServiceBehaviorAttribute
52 could be set explicitly null.
54 2009-12-07 Atsushi Enomoto <atsushi@ximian.com>
56 * ChannelDispatcher.cs : handle AddressFilterMode (.Any only yet).
57 * OperationInvokerHandler.cs : fix wrong IAsyncResult use.
59 2009-12-07 Atsushi Enomoto <atsushi@ximian.com>
61 * InstanceBehavior.cs : allow nonpublic instance.
62 * DefaultOperationInvoker.cs : do use IsSynchronous correctly.
64 2009-10-22 Atsushi Enomoto <atsushi@ximian.com>
66 * ChannelDispatcher.cs : disable concurrent channel acceptance
67 until it gets working fine.
69 2009-10-16 Atsushi Enomoto <atsushi@ximian.com>
71 * ChannelDispatcher.cs : fix warnings.
73 2009-10-16 Atsushi Enomoto <atsushi@ximian.com>
75 * ClientOperation.cs, ClientRuntime.cs : another couple of changes
76 are required to not use non-SL types.
78 2009-10-16 Atsushi Enomoto <atsushi@ximian.com>
80 * ClientRuntime.cs : enable Operations property on monotouch.
81 Hopefully it will enable us to build WebHttpBinding.
83 2009-10-09 Atsushi Enomoto <atsushi@ximian.com>
85 * ChannelDispatcher.cs : OnOpened/OnOpening constraints related
86 changes were required here too. Actually it simplified code.
88 2009-10-06 Atsushi Enomoto <atsushi@ximian.com>
90 * OperationInvokerHandler.cs : a bit more explaining message.
92 2009-10-05 Atsushi Enomoto <atsushi@ximian.com>
94 * ChannelDispatcher.cs : make sure to close, *and* abort channels
95 in case they failed to close. Also consider close timeouts.
96 Rename a field to make less confusing.
98 2009-09-17 Atsushi Enomoto <atsushi@ximian.com>
100 * ChannelDispatcher.cs, EndpointDispatcher.cs :
101 when an EndpointDispatcher is added to ChannelDispatcher, its
102 ChannelDispatcher property is automatically filled. To do this,
103 create a derived collection type for Endpoints (that's what .NET
104 does). Remove extra InitializeEndpoint() argument.
106 2009-09-17 Atsushi Enomoto <atsushi@ximian.com>
108 * OperationInvokerHandler.cs : make error message a bit verbose.
110 2009-09-16 Atsushi Enomoto <atsushi@ximian.com>
112 * ChannelDispatcher.cs : make sure to close the request context,
113 some channels such as http keeps opening it. Patch by Levi Bard.
116 2009-09-14 Atsushi Enomoto <atsushi@ximian.com>
118 * ChannelDispatcher.cs : do not try to wait for channel closer
119 handle when the loop is not started yet. This fixes lengthy wait
122 2009-09-11 Atsushi Enomoto <atsushi@ximian.com>
124 * EndpointDispatcher.cs : AddressFilter is always non-null.
125 * DispatchRuntime.cs : CallbackClientRuntime seems to be created even
126 for non-callback dispatchers. Fixing this also results in fixes in
127 couple of nunit regressions.
128 * InputOrReplyRequestProcessor.cs : the change above required fix
129 here too (it has null check).
131 2009-09-11 Atsushi Enomoto <atsushi@ximian.com>
133 * BaseMessagesFormatter.cs, DefaultOperationInvoker.cs:
134 Fix the crash that ref parameter in contract methods caused.
136 2009-09-04 Atsushi Enomoto <atsushi@ximian.com>
138 * OperationInvokerHandler.cs, ReplyHandler.cs :
139 - Eliminate ReplyHandler use. What is does is simple reply, while
140 it brings inconsistency between sync and async models.
141 What reply handler used to do are now integrated.
142 - Support ErrorHandlers and InputSessionShutdownHandlers.
143 Actually ErrorHandlers were processed at wrong place and they
144 weren't called where they are expected.
145 * InputOrReplyRequestProcessor.cs : hence eliminated ReplyHandler.
146 * BaseRequestProcessor.cs : add FIXME notes on ErrorHandlers.
148 2009-09-04 Atsushi Enomoto <atsushi@ximian.com>
150 * ChannelDispatcher.cs : remove obsoleted method.
152 2009-09-02 Atsushi Enomoto <atsushi@ximian.com>
154 * BaseMessagesFormatter.cs :
155 implement XmlBodyWriter.OnCreateBufferedCopy().
157 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
159 * CallbackInstanceContextProvider.cs : new instance context provider
160 used by duplex client dispatcher.
162 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
164 * SecurityHandler.cs : skip callback duplex blocker.
166 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
168 * EndpointDispatcher.cs, ChannelDispatcher.cs : differentiate
169 service dispatch and callback client dispatch at initialization.
171 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
173 * ChannelDispatcher.cs : also made reference to host optional.
175 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
177 * ChannelDispatcher.cs : isolated loop manager class from parent,
178 as well as moved some code from parent.
180 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
182 * ChannelDispatcherCollection.cs : remove extra members.
184 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
186 * ChannelDispatcher.cs, EndpointDispatcher.cs :
187 moved some initialization code from ServiceHostBase, to start
188 reducing dependencies on ServiceHostBase.
190 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
192 * ChannelDispatcher.cs : handle unknown message in host event.
194 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
196 * EndpointDispatcher.cs : do not try to create wrong filter.
198 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
200 * ChannelDispatcher.cs : EndpointNotFoundException message could
203 2009-08-11 Atsushi Enomoto <atsushi@ximian.com>
205 * IOperationInvoker.cs : fix interface.
206 * DefaultOperationInvoker.cs : refresh implementation of the above.
207 * BaseMessagesFormatter.cs, OperationInvokerHandler.cs :
208 dependent changes for above.
210 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
212 * InputOrReplyRequestProcessor.cs : now it could return an instance
213 of dynamically generated proxy over DuplexServiceRuntimeChannel.
215 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
217 * ClientRuntime.cs : oops, it should have been committed at a time.
218 Change .ctor() args. Make some properties auto.
220 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
222 * DispatchRuntime.cs : callback runtime is set later.
224 2009-08-06 Atsushi Enomoto <atsushi@ximian.com>
227 .ctor() just needs contract. Fill some properties.
229 2009-08-04 Atsushi Enomoto <atsushi@ximian.com>
231 * ReplyHandler.cs : there is better way to check IsOneWay.
233 2009-08-04 Atsushi Enomoto <atsushi@ximian.com>
235 * OperationInvokerHandler.cs : One way operation has no reply.
236 * ReplyHandler.cs : ditto.
238 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
240 * ChannelDispatcher.cs : raise error on multiple endpoint match
241 (documented at EndpointDispatcher.FilterPriority).
243 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
245 * ChannelDispatcher.cs : move Open() inside acceptor lock, so that
246 the channel does not have to be fired Receive() before Open().
248 2009-07-14 Atsushi Enomoto <atsushi@ximian.com>
250 * DispatchRuntime.cs : add ValidateMustUnderstand.
251 * DispatchOperation.cs : add AutoDisposeParameters.
253 2009-07-02 Atsushi Enomoto <atsushi@ximian.com>
255 * ChannelDispatcher.cs : when service instance is provided to the
256 ServiceHost, do not reject Type-less state.
258 2009-06-29 Atsushi Enomoto <atsushi@ximian.com>
260 * ChannelDispatcher.cs : do not iterate extra channel acceptance
261 and hence close channels a bit more gracefully.
263 2009-06-25 Atsushi Enomoto <atsushi@ximian.com>
265 * ChannelDispatcher.cs : instead of discarding channels, reuse them
266 unless it is closed by session manager (session manager does not
267 work, so channels are not actually closed automatically yet).
269 2009-06-25 Atsushi Enomoto <atsushi@ximian.com>
271 * SessionInstanceContextProvider.cs : new instance context provider.
273 2009-06-23 Atsushi Enomoto <atsushi@ximian.com>
275 * DispatchRuntime.cs : do not fill InstanceContextProvider here.
276 * ChannelDispatcher.cs : do it here instead.
277 * ChannelDispatcherCollection.cs : remove TODOs.
279 2009-06-23 Atsushi Enomoto <atsushi@ximian.com>
281 * InputOrReplyRequestProcessor.cs : bogus initialization.
283 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
285 * ChannelDispatcher.cs : significant changes:
286 - simplified Open/Close async.
287 - implement OnAbort().
288 - create ServiceThrottle when it is null.
289 - Channels are accepted as much as the throttle allows, and
290 process requests when accepted an input (now it holds more than
292 - Support ReceiveSynchronously and use Begin/EndAcceptChannel()
294 - Close all channels and the listener when it is closed.
295 - Cosmetic simplification on channel acceptor delegate creation.
297 2009-06-09 Atsushi Enomoto <atsushi@ximian.com>
299 * ChannelDispatcher.cs : avoid NRE (actually it should eliminate
300 Thread.Abort()). Added some comments on throttling.
302 2009-06-09 Atsushi Enomoto <atsushi@ximian.com>
304 * ServiceThrottle.cs : implement.
306 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
308 * ChannelDispatcher.cs :
309 Add call to base (see CommunicationObject change).
311 2009-06-01 Atsushi Enomoto <atsushi@ximian.com>
313 * ChannelDispatcher.cs : handle more errors gracefully.
315 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
317 * ErrorProcessingHandler.cs, InputOrReplyRequestProcessor.cs :
318 they also premise request-reply channel and broke duplex channels.
320 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
322 * ChannelDispatcher.cs : open channel before using it.
324 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
326 * ReplyHandler.cs, InputOrReplyRequestProcessor.cs,
327 MessageProcessingContext.cs : reply processing is also needed by
328 non-request channels (i.e. duplex). Current code basis lacked
329 such possibility. Quick fix by adding duplex support in
332 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
334 * ChannelDispatcher.cs, SecurityHandler.cs,
335 InputOrReplyRequestProcessor.cs, MessageProcessingContext.cs :
336 remove default communication timeouts from several types. They
337 bring bogus NRE. Instead, fill timeouts in ChannelDispatcher and
338 use it when required (it was actually *only* request processor).
340 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
342 * ChannelDispatcher.cs : wrong channel argument.
344 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
346 * DispatchRuntime.cs : some comment.
347 * ChannelDispatcher.cs : ongoing changes to handle listeners and
348 accepted channels at more precise state. Listeners are opened,
349 without accepting channels. Some setup code is done at OnOpen(),
350 while some are done at OnOpened().
352 2009-04-23 Atsushi Enomoto <atsushi@ximian.com>
354 * DispatchOperation.cs : implement GetFormatter() at service side too.
356 2009-04-01 Atsushi Enomoto <atsushi@ximian.com>
358 * OperationInvokeHandler.cs : replace MS copycat exception message.
360 2009-02-26 Atsushi Enomoto <atsushi@ximian.com>
362 * ClientRuntime.cs : fill contractType in .ctor().
364 2009-02-04 Atsushi Enomoto <atsushi@ximian.com>
366 * BaseMessagesFormatter.cs : do not use non-2.1 CreateInstance().
368 2008-06-18 Noam Lampert <noaml@mainsoft.com>
370 * ChannelDispatcher.cs: Avoid aborting host process on faulty input message.
372 2008-05-22 Noam Lampert <noaml@mainsoft.com>
374 * OperationInvokeHandler.cs: Only return fault reply when TargetInvocation occured (not other internal
375 errors. Serlialize the correct (inner) exception.
377 2008-05-22 Roei Erez <roeie@mainsoft.com>
378 * fix ContractDescription.GetContract implementation
379 * Refactor Request processing
380 * Add support for message inspectors
381 * Add support for InstanceContextProvider & InstanceProvider, including lifecycles events
382 like: ReleaseServiceInstance, Open, Close...
383 * Add relevant test cases.
385 2008-05-01 Eyal Alaluf <eyala@mainsoft.com>
387 * BaseMessagesFormatter.cs: Handle methods with out parameters that return
389 * DispatchOperation.cs, IOperationInvoker.cs: Simplify method invocation.
391 2008-04-22 Igor Zelmanovich <igorz@mainsoft.com>
393 * DispatchOperation.cs: removed dependency on OperationDescription,
394 allows usage of custom channel dispatcher without endpoint was explicitly
397 2008-04-22 Igor Zelmanovich <igorz@mainsoft.com>
399 * MexInstanceContextProvider.cs - remove unused code.
401 2008-04-21 Roei Erez <roeie@mainsoft.com>
403 * ChannelDispatcher.cs - Change order of Dispatcher shutdown
405 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
407 * ChannelDispatcher.cs, EndpointDispatcher.cs: removed dependency on
408 ServiceDescription/ServiceEndpoint, allows usage of channel dispatcher
409 without endpoint was explicitly built
410 * EndpointDispatcher.cs: Filters lazy evaluation, refactored
411 communication processing, logic moved to channel dispatcher
413 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
415 * ActionMessageFilter.cs: fixed Match, match for "*" action
417 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
419 * DispatchOperation.cs: fixed ProcessRequest, fault message creation
421 2008-04-10 Eyal Alaluf <eyala@mainsoft.com>
423 * DefaultMessageOperationFormatter.cs: Moved to BaseMessagesFormatter.cs.
424 * BaseMessagesFormatter.cs: Refactored so typed messages uses the classes
425 defined here instead of the other way around.
426 Added support for by-ref and out parameters.
427 Added support for XmlSerializerFormat serializaters..
428 * DispatchOperation.cs, ClientOperation.cs: Use BaseMessagesFormatter.Create
430 2008-04-09 Roei Erez <roeie@mainsoft.com>
432 * Remove unused nethod from previous commit
434 2008-04-08 Roei Erez <roeie@mainsoft.com>
436 * ChannelDispatcher.cs
438 - Add support for Endpoints property
439 - Remove the hack of 'endpoint_dispatcher' field
440 * ChannelDispatcherCollection.cs
441 - Add support for 'Attach' 'Detach'
442 * EndpointDispatcher.cs
443 - By default create MatchAllMessageFilter.
445 2008-02-17 Atsushi Enomoto <atsushi@ximian.com>
447 * EndpointDispatcher.cs : we don't need AddressFilter workaround
448 from Feb. 14 anymore.
450 2008-02-17 Atsushi Enomoto <atsushi@ximian.com>
452 * EndpointDispatcher.cs : after service method call, apply outgoing
453 headers and properties to the returned message.
455 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
457 * ChannelDispatcher.cs : populate DispatchOperations before applying
458 IEndpointBehaviors so that those behaviors can modify dispatch
461 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
463 * DispatchOperation.cs : Action may be null. For such cases, use
464 MessageDirection to determine the message description.
466 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
468 * EndpointAddressMessageFilter.cs : implement Match(MessageBuffer).
469 Use ordinal string comparison.
470 * PrefixEndpointAddressMessageFilter.cs : implement Match() (both).
472 2008-02-14 Atsushi Enomoto <atsushi@ximian.com>
474 * EndpointDispatcher.cs : moved AddressFilter application only when
475 DispatchOperation was not selected (it is sort of workaround).
477 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
479 * DefaultMessageOperationFormatter.cs : Fixed SerializeReply() for
480 message contract type to process result, not the parameter.
482 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
484 * SingletonInstanceContextProvider.cs : new.
486 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
488 * DefaultMessageOperationFormatter.cs : dependent changes on
489 message serializer and deserializer.
491 2007-03-24 Atsushi Enomoto <atsushi@ximian.com>
493 * DefaultMessageOperationFormatter.cs :
494 use it for deserialization as well.
496 2007-03-24 Atsushi Enomoto <atsushi@ximian.com>
498 * DefaultMessageOperationFormatter.cs : consider message contracts
499 during message serialization/deserialization.
501 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
503 * EndpointDispatcher.cs : now dispatcher-side foundation for token
504 negotiation is ready. Handle negotiation message on its own way.
505 * DispatchOperation.cs : instead of returning irrelevant SOAP Fault,
506 simply raise an error and let FaultConverter do better work.
508 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
510 * EndpointDispatcher.cs : use ErrorHandlers when error was raised.
511 Handle exceptions to make into SOAP Fault, using FaultConverter.
512 * ChannelDispatcher.cs : simply get ServiceEndpoint at Attach().
513 * ChannelDispatcherBase.cs : removed MonoTODOs.
515 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
517 * ChannelDispatcher.cs, DispatchRuntime.cs, EndpointDispatcher.cs :
518 moved most of request/input processing to EndpointDispatcher.cs.
519 Also, ChannelDispatcher now contains code for behavior
522 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
524 * ChannelDispatcher.cs : some cosmetic refactoring on error handling
527 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
529 * ChannelDispatcher.cs, DispatchRuntime.cs, DispatchOperation.cs :
530 Support OperationContext and OperationContextScope with
531 ServiceRuntimeChannel as its .ctor() input.
533 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
535 * DispatchRuntime.cs : raise an error when the DispatchOperation
536 returned null Message.
538 2006-10-18 Ankit Jain <jankit@novell.com>
540 * MexInstanceContextProvider.cs (HttpGetInstanceContextProvider): New.
541 * DispatchOperation.cs (DoProcessRequest): InstanceContext returned by
542 the provider can be null.
543 * EndpointAddressMessageFilter.cs (Match): Handle IncludeHostNameInComparison.
545 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
547 * DispatchOperation.cs : slightly improved exception message.
549 2006-10-06 Ankit Jain <jankit@novell.com>
551 * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore):
552 ReceiveRequest can return null.
554 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
556 * ClientRuntime.cs : added MaxFaultSize.
558 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
560 * ChannelDispatcher.cs : don't reject anonymous and null To.
562 2006-10-04 Ankit Jain <jankit@novell.com>
564 * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore): Reply with a
565 Fault message if message's To doesn't match the endpoint.
566 (ListenerLoopManager.CreateDestinationUnreachable): New.
567 * IInstanceContextProvider.cs: New.
568 * MexInstanceContextProvider.cs: New. InstanceContextProvider for
570 (MetadataExchange): Implementation of IMetadataExchange.
571 * DispatchRuntime.cs (InstanceContextProvider): Add missing property.
572 * DispatchOperation.cs (DoProcessRequest): Use InstanceContextProvider
573 if available to obtain service instance.
574 * EndpointDispatcher.cs (.ctor): Set AddressFilter to EndpointAddressMessageFilter.
575 * EndpointAddressMessageFilter.cs (Match): Implement.
577 2006-10-03 Atsushi Enomoto <atsushi@ximian.com>
579 * ClientRuntime.cs : added InteractiveChannelInitializer.
581 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
583 * DispatchOperation.cs : removed extra comment.
585 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
587 * DispatchOperation.cs : workaround to send exception detail.
589 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
591 * ICallContextInitializer.cs : new file.
592 * DispatchOperation.cs : use above.
593 Not sure if it works correctly though.
595 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
597 * DispatchOperation.cs : when there is an error during
598 ProcessRequest(), wrap the exception with MessageFault and return
601 2006-08-10 Duncan Mak <duncan@novell.com>
603 * ExceptionHandler.cs: New file.
605 * ServiceThrottle.cs (MaxConnections): Renamed to
606 MaxConcurrentSessions.
607 (MaxInstances): Renamed to MaxConcurrentInstances.
609 2006-07-27 Atsushi Enomoto <atsushi@ximian.com>
611 * IInteractiveChannelInitializer.cs : new file.
613 2006-07-14 Atsushi Enomoto <atsushi@ximian.com>
615 * IErrorHandler.cs : API updates.
617 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
619 * DispatchRuntime.cs :
620 it was selecting UnhandledOperation unexpectedly.
621 * DispatchOperation.cs : added FIXME comment.
623 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
625 * DefaultMessageOperationFormatter.cs : Remove hack for non-
626 (de)serializing Message-based methods. They are now moved to
627 ClientBase and ServiceHostBase to explicitly set
628 [Serialize|Deserialize][Request|Reply].
630 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
632 * DefaultMessageOperationFormatter.cs : don't omit action on
633 SerializeRequest. Do it in SerializeReply.
635 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
637 * DefaultMessageOperationFormatter.cs : When addressing version is
638 None, then omit reply action. This logic is moved from MessageImpl.
640 2006-07-11 Atsushi Enomoto <atsushi@ximian.com>
642 * DefaultMessageOperationFormatter.cs :
643 return message, not parameter[0]. Removed some extra FIXMEs.
645 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
647 * DefaultMessageOperationFormatter.cs : when the parameter is
648 Message and the return type is Message, then do not use
651 2006-07-07 Atsushi Enomoto <atsushi@ximian.com>
653 * PrefixEndpointAddressMessageFilter.cs, FaultContractInfo.cs :
654 new types in June CTP.
655 * ISharedInstanceSessionLifetime.cs:
657 * ChannelDispatcher.cs, MatchAllMessageFilter.cs, DispatchRuntime.cs,
658 DispatchOperation.cs, ClientRuntime.cs, MatchNoneMessageFilter.cs,
659 ClientOperation.cs, ActionMessageFilterTable.cs,
660 EndpointAddressMessageFilterTable.cs :
661 several minor fixes for June CTP.
663 2006-07-06 Atsushi Enomoto <atsushi@ximian.com>
665 * DispatchOperation.cs : MessageFault.DefaultAction vanished.
667 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
669 * IClientFormatter.cs, IClientMessageFormatter.cs,
670 IDispatchFormatter.cs, IDispatchMessageFormatter.cs :
671 renamed former to latter, for each.
673 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
675 * ChannelDispatcher.cs, DispatchRuntime.cs :
676 IRequestContext -> RequestContext.
678 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
680 * ChannelDispatcher.cs, IDispatchFormatter.cs,
681 DefaultMessageOperationFormatter.cs, IClientFormatter.cs,
682 DispatchOperation.cs, ClientOperation.cs :
683 some June CTP updates.
685 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
687 * DefaultMessageOperationFormatter.cs : implement SerializeRequest()
688 and DeserializeReply(). Now simple ClientBase<T> sample is working.
690 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
692 * ClientOperation.cs : added GetFormatter() to support message
693 serialization/deserialization.
694 * DispatchOperation.cs : made some internal members private
695 (they are exposed extraneously). Commented out debugging code.
697 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
699 * DefaultMessageOperationFormatter.cs : In SerializeReply(), use
700 custom BodyWriter() and use MessagePartDescription names. Now
701 return value and other (ref/out) parameters could be equivalently
702 serialized (at this method; to support them more love is needed).
704 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
706 * DefaultMessageOperationFormatter.cs :
707 Action for response is null (though it is likely conditional).
709 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
711 * DefaultMessageOperationFormatter.cs :
712 true DeserializeReply implementation using Message.CreateMessage()
713 with DataContractSerializer (not complete though).
715 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
717 * ChannelDispatcher.cs, DispatchOperation.cs,
718 ChannelDispatcherBase.cs :
719 some updated API fixes.
721 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
723 * EndpointDispatcher.cs : moved from Sys.ServiceModel.
725 2006-04-20 Atsushi Enomoto <atsushi@ximian.com>
727 * ClientRuntime.cs : some minor collection instantiation and comments.
729 2006-04-07 Atsushi Enomoto <atsushi@ximian.com>
731 * DispatchOperation.cs : Implemented internal MessageVersion.
732 hacked instance provision by using Activator.CreateInstance.
733 * DefaultMessageOperationFormatter.cs : fixed DeserializeRequest to
734 be functional. Implemented SerializeReply.
736 2006-04-05 Atsushi Enomoto <atsushi@ximian.com>
738 * DispatchOperation.cs : return SOAP fault message for nonexistent
740 * DefaultMessageOperationFormatter.cs : implemented
741 DeserializeRequest(), though there is no working example.
743 2006-03-17 Atsushi Enomoto <atsushi@ximian.com>
745 * DispatchOperation.cs : implemented logic to acquire
746 OperationDescription. Added code for default IDispatchFormatter
748 * DispatchRuntime.cs : fix warning.
749 * DefaultMessageOperationFormatter.cs : new file, for default
750 IDispatchFormatter implementation (not done yet).
751 * ChannelDispatcher.cs : create EndpointDispatcher in Attach and
752 bind to this instance.
754 2006-03-16 Atsushi Enomoto <atsushi@ximian.com>
756 * ChannelDispatcherCollection.cs : added parameterless ctor().
757 * ChannelDispatcher.cs DispatchRuntime.cs DispatchOperation.cs :
758 Set some initial field values as proved in unit tests.
759 Request/input processing is still ongoing.
761 2006-03-13 Atsushi Enomoto <atsushi@ximian.com>
763 * ChannelDispatcher.cs
765 DispatchOperation.cs : added request/input processing code.
767 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
769 * ChannelDispatcher.cs : Get "AcceptChannel" method without ambiguity.
771 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
773 * ChannelDispatcher.cs : Added request-processing code.
775 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
777 * ChannelDispatcher.cs : implement Attach() and Detach() more to work.
779 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
781 * DispatchBehavior.cs :
782 Dependent fixes for System.IdentityModel reorgainzation.
784 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
786 * FilterNodeQuotaExceededException.cs
787 FilterInvalidBodyAccessException.cs DispatchBehavior.cs
788 DispatchOperation.cs NavigatorInvalidBodyAccessException.cs
789 MatchNoneFilter.cs ActionFilter.cs
790 MultipleFilterMatchesException.cs Filter.cs
791 IInstanceContextInitializer.cs XPathFilter.cs
792 IDispatchOperationSelector.cs MatchAllFilter.cs
793 ActionFilterTable.cs EndpointAddressFilter.cs FilterTable.cs
794 EndpointFilterTable.cs XPathMessageContext.cs
795 IEndpointDispatcher.cs ProxyBehavior.cs
796 ProxyOperation.cs XPathFilterTable.cs
797 EndpointAddressFilterTable.cs InvalidBodyAccessException.cs
798 IFilterTable.cs IOperationInvoker.cs :
799 moved from System.ServiceModel due to the API changes.