1 2010-07-12 Atsushi Enomoto <atsushi@ximian.com>
3 * InputOrReplyProcessor.cs : remove SecurityHandler. WS-Trust must
4 be handled before endpoint dispatching (it must not pass contract
5 filter) and doesn't make sense to be here.
6 * SecurityHandler.cs : move to old-code.
8 2010-07-12 Atsushi Enomoto <atsushi@ximian.com>
10 * SecurityHandler.cs : add new using. Though this class will vanish.
12 2010-07-12 Atsushi Enomoto <atsushi@ximian.com>
14 * ChannelDispatcher.cs : apply ErrorHandlers to IInputChannel too.
16 2010-07-09 Atsushi Enomoto <atsushi@ximian.com>
18 * PostReceiveRequestHandler.cs : don't replace correctly passed-by-
19 reference Message with wrong, consumed Message.
21 2010-07-09 Atsushi Enomoto <atsushi@ximian.com>
23 * ChannelDispatcher.cs : do not swallow exception during
24 RequestContext.get_RequestMessage() and thus return SOAP Fault for
25 MessageSecurityException to the client.
27 2010-07-08 Atsushi Enomoto <atsushi@ximian.com>
29 * ChannelDispatcher.cs : support ErrorHandlers.
31 2010-07-05 Atsushi Enomoto <atsushi@ximian.com>
33 * ChannelDispatcher.cs :
34 moved IChannelDispatcherBoundListener from HttpChannelListener.cs.
36 2010-07-02 Atsushi Enomoto <atsushi@ximian.com>
38 * MessageProcessingContext.cs : update possibly-updated ReplyMessage
39 to send, by message inspectors. Fix by Clovis Ribeiro, should fix
42 2010-06-24 Atsushi Enomoto <atsushi@ximian.com>
44 * ChannelDispatcher.cs : enable service throttling again.
45 This time Http(Listener), ASP.NET and TCP listeners all work.
47 2010-06-21 Atsushi Enomoto <atsushi@ximian.com>
49 * ChannelDispatcher.cs : raise an error if IChannelListener is
50 already opened when it's opening.
52 2010-06-21 Atsushi Enomoto <atsushi@ximian.com>
54 * ServiceThrottle.cs : take ChannelDispatcher to validate setters.
56 2010-06-17 Atsushi Enomoto <atsushi@ximian.com>
58 * ChannelDispatcher.cs : add simple bool field to mark for mex channel.
60 2010-06-17 Atsushi Enomoto <atsushi@ximian.com>
62 * ChannelDispatcher.cs : MessageVersion check is moved to
65 2010-06-14 Atsushi Enomoto <atsushi@ximian.com>
67 * OperationInvokerHandler.cs, MessageProcessingContext.cs :
68 ChannelDispatcher may be null, so check its availability before
69 using it. Don't use it, when possible.
70 * DispatchOperation.cs : remove unused member.
72 2010-06-04 Atsushi Enomoto <atsushi@ximian.com>
74 * EndpointDispatcher.cs, BaseMessagesFormatter.cs:
75 Now MessageDescription.Direction is differentiated from "IsRequest"
76 property, to precisely identify request/reply in callbacks. Also
77 now we don't have to create extraneous ContractDescription for
80 2010-06-03 Atsushi Enomoto <atsushi@ximian.com>
82 * EndpointDispatcher.cs, DispatchRuntime.cs, ClientRuntime.cs :
83 now Callback[Dispatch|Client]Runtime properties are always filled
84 so that users can configure the callback runtimes (not sure such
85 configured runtimes work fine yet, but it is a required step).
86 * InputOrReplyRequestProcessor.cs : instead of HasCallbackRuntime
87 hack, use CallbackClientRuntime.CallbackContractType for checking
90 2010-05-28 Atsushi Enomoto <atsushi@ximian.com>
92 * ClientOperation.cs, DispatchOperation.cs : remove extra fields.
94 2010-05-28 Atsushi Enomoto <atsushi@ximian.com>
96 * ClientOperation.cs : do the same for client side too.
98 2010-05-28 Atsushi Enomoto <atsushi@ximian.com>
100 * DispatchOperation.cs : on callback channels ChannelDispatcher is
101 not available. Wait for something like ClientRuntime.ChannelFactory.
103 2010-05-28 Atsushi Enomoto <atsushi@ximian.com>
105 * EndpointDispatcher.cs : some comments.
106 * DispatchOperation.cs : remove on-the-fly dependency on
107 OperationDescription. Add immutable check on each property.
109 2010-05-27 Atsushi Enomoto <atsushi@ximian.com>
111 * EndpointDispatcher.cs : fill CallbackDispatchRuntime. Add some
112 FIXME comments for ongoing fixes.
114 2010-05-26 Atsushi Enomoto <atsushi@ximian.com>
116 * OperationInvokerHandler.cs : assign RelatesTo header item here.
118 2010-05-21 Atsushi Enomoto <atsushi@ximian.com>
120 * ChannelDispatcher.cs : disable slottling again :( It still fails
121 to process concurrent requests if there is service metadata channel
122 and MaxConcurrentSessions > 1 on non-ASP.NET channels.
124 2010-05-21 Atsushi Enomoto <atsushi@ximian.com>
126 * ChannelDispatcher.cs : enable throttling again. Though issues
127 regarding parallel request is not here (multiple dispatchers
128 can accept a channels for each), and HTTP channels do not accept
129 more than one channel at a time anyways.
131 2010-04-28 Atsushi Enomoto <atsushi@ximian.com>
133 * ChannelDispatcher.cs : add workaround to set ChannelDispatcher
134 to IChannelListener. Avoid null ChannelDispatcher in http listener.
136 2010-04-20 Atsushi Enomoto <atsushi@ximian.com>
138 * OperationInvokerHandler.cs : workaround NRE issue in AsyncCallTest.
139 The original code was worse than this workaround.
141 2010-04-05 Atsushi Enomoto <atsushi@ximian.com>
143 * EndpointAddressMessageFilter.cs : check null arg. Return false for
144 no To header case and do not result in NRE.f
146 2010-04-05 Atsushi Enomoto <atsushi@ximian.com>
148 * BaseMessagesFormatter.cs : hasParameter check is incorrectly
149 restrictive to reject some kinds of pairs.
151 2010-04-02 Atsushi Enomoto <atsushi@ximian.com>
153 * FaultContractInfo.cs : add serializer property.
155 2010-04-02 Atsushi Enomoto <atsushi@ximian.com>
157 * ClientOperation.cs : do not automatically fill FaultContractInfos.
159 2010-04-02 Atsushi Enomoto <atsushi@ximian.com>
161 * OperationInvokerHandler.cs : implement FaultContractInfos support.
162 * ErrorProcessingHandler.cs : update comment. It is not relevant.
164 2010-04-02 Atsushi Enomoto <atsushi@ximian.com>
166 * EndpointDispatcher.cs : fill FaultContractInfos.
167 * DispatchOperation.cs : do not fill them dynamically/automatically.
168 * ErrorProcessingHandler.cs : added some FIXME notes.
170 2010-03-30 Atsushi Enomoto <atsushi@ximian.com>
172 * ChannelDispatcher.cs : differentiate EndpointNotFound and
173 ActionNotSupported so that FaultConverter can create appropriate
174 fault messages. Removed extra filter condition on null To item.
175 And create fault messages on *any* server side error, do not let
176 request client infinitely wait for the response until timeout.
178 (RunDestinationUnreachableTest() is still not working but it works
179 when it is SOAP 1.2.)
181 2010-03-30 Atsushi Enomoto <atsushi@ximian.com>
183 * ChannelDispatcher.cs : for faults, use fault namespace, not that of
184 ReplyAction. Added FIXME comment regarding dispatcher.
186 2010-03-25 Atsushi Enomoto <atsushi@ximian.com>
188 * OperationInvokerHandler.cs : removed unused code.
190 2010-03-24 Atsushi Enomoto <atsushi@ximian.com>
192 * ChannelDispatcher.cs : return EndpointDispatcher at initializing
193 for internal use. Add some locks. Patch by Matt Dargavel.
195 2010-03-24 Atsushi Enomoto <atsushi@ximian.com>
197 * ChannelDispatcher.cs : fix wrong method call in open_delegate.
198 Patch by Matt Dargavel.
200 2010-03-24 Atsushi Enomoto <atsushi@ximian.com>
202 * ChannelDispatcher.cs : give the actual exception message instead
205 2010-03-18 Atsushi Enomoto <atsushi@ximian.com>
207 * XPathMessageContext.cs : implement.
208 * XPathMessageFilterTable.cs : add some missing overloads.
210 2010-02-26 Atsushi Enomoto <atsushi@ximian.com>
212 * InputOrReplyRequestProcessor.cs : now ServiceRuntimeChannel is
213 moved to fake public namespace.
215 2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
217 * ChannelDispatcher.cs : revert previous change - it could result
218 in blocking some threads and block nunit completion.
220 2010-02-04 Atsushi Enomoto <atsushi@ximian.com>
222 * ChannelDispatcher.cs : now I can enable service throttling to
223 handle more than one concurrent channels as ASP.NET reply channel
226 2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
228 * ChannelDispatcher.cs : actually instance context provider could be
229 null through the entire service run.
231 Fixed all current nunit failures!
233 2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
235 * ChannelDispatcher.cs : do not try to iterate channel acceptor when
238 2010-01-19 Atsushi Enomoto <atsushi@ximian.com>
240 * ChannelDispatcher.cs : another error audit.
242 2010-01-13 Atsushi Enomoto <atsushi@ximian.com>
244 * FaultContractInfo.cs : implement.
245 * DispatchOperation.cs, ClientOperation.cs: fill Faults.
247 2010-01-08 Atsushi Enomoto <atsushi@ximian.com>
249 * EndpointDispatcher.cs, InputOrReplyRequestProcessor.cs :
250 Pass service type to correctly retrieve ServiceContractAttribute
251 from the service type, not callback type.
253 2010-01-07 Atsushi Enomoto <atsushi@ximian.com>
255 * ChannelDispatcher.cs : make sure to unlock channel acceptor wait
256 handle when the delegated method resulted in an error.
258 2009-12-26 Atsushi Enomoto <atsushi@ximian.com>
260 * ChannelDispatcher.cs : close such channels that failed to receive
263 2009-12-26 Atsushi Enomoto <atsushi@ximian.com>
265 * DispatchRuntime.cs : shortened code and scattered monotodos.
267 2009-12-10 Atsushi Enomoto <atsushi@ximian.com>
269 * OperationInvokerHandler.cs : fix async operation handling. Since
270 the entire handler chain is designed to be in synchronous, one
271 single handler must not leave its work incomplete (async). Just
272 wait for the async process completion within the handler.
274 2009-12-07 Atsushi Enomoto <atsushi@ximian.com>
276 * ChannelDispatcher.cs : fix regression; ServiceBehaviorAttribute
277 could be set explicitly null.
279 2009-12-07 Atsushi Enomoto <atsushi@ximian.com>
281 * ChannelDispatcher.cs : handle AddressFilterMode (.Any only yet).
282 * OperationInvokerHandler.cs : fix wrong IAsyncResult use.
284 2009-12-07 Atsushi Enomoto <atsushi@ximian.com>
286 * InstanceBehavior.cs : allow nonpublic instance.
287 * DefaultOperationInvoker.cs : do use IsSynchronous correctly.
289 2009-10-22 Atsushi Enomoto <atsushi@ximian.com>
291 * ChannelDispatcher.cs : disable concurrent channel acceptance
292 until it gets working fine.
294 2009-10-16 Atsushi Enomoto <atsushi@ximian.com>
296 * ChannelDispatcher.cs : fix warnings.
298 2009-10-16 Atsushi Enomoto <atsushi@ximian.com>
300 * ClientOperation.cs, ClientRuntime.cs : another couple of changes
301 are required to not use non-SL types.
303 2009-10-16 Atsushi Enomoto <atsushi@ximian.com>
305 * ClientRuntime.cs : enable Operations property on monotouch.
306 Hopefully it will enable us to build WebHttpBinding.
308 2009-10-09 Atsushi Enomoto <atsushi@ximian.com>
310 * ChannelDispatcher.cs : OnOpened/OnOpening constraints related
311 changes were required here too. Actually it simplified code.
313 2009-10-06 Atsushi Enomoto <atsushi@ximian.com>
315 * OperationInvokerHandler.cs : a bit more explaining message.
317 2009-10-05 Atsushi Enomoto <atsushi@ximian.com>
319 * ChannelDispatcher.cs : make sure to close, *and* abort channels
320 in case they failed to close. Also consider close timeouts.
321 Rename a field to make less confusing.
323 2009-09-17 Atsushi Enomoto <atsushi@ximian.com>
325 * ChannelDispatcher.cs, EndpointDispatcher.cs :
326 when an EndpointDispatcher is added to ChannelDispatcher, its
327 ChannelDispatcher property is automatically filled. To do this,
328 create a derived collection type for Endpoints (that's what .NET
329 does). Remove extra InitializeEndpoint() argument.
331 2009-09-17 Atsushi Enomoto <atsushi@ximian.com>
333 * OperationInvokerHandler.cs : make error message a bit verbose.
335 2009-09-16 Atsushi Enomoto <atsushi@ximian.com>
337 * ChannelDispatcher.cs : make sure to close the request context,
338 some channels such as http keeps opening it. Patch by Levi Bard.
341 2009-09-14 Atsushi Enomoto <atsushi@ximian.com>
343 * ChannelDispatcher.cs : do not try to wait for channel closer
344 handle when the loop is not started yet. This fixes lengthy wait
347 2009-09-11 Atsushi Enomoto <atsushi@ximian.com>
349 * EndpointDispatcher.cs : AddressFilter is always non-null.
350 * DispatchRuntime.cs : CallbackClientRuntime seems to be created even
351 for non-callback dispatchers. Fixing this also results in fixes in
352 couple of nunit regressions.
353 * InputOrReplyRequestProcessor.cs : the change above required fix
354 here too (it has null check).
356 2009-09-11 Atsushi Enomoto <atsushi@ximian.com>
358 * BaseMessagesFormatter.cs, DefaultOperationInvoker.cs:
359 Fix the crash that ref parameter in contract methods caused.
361 2009-09-04 Atsushi Enomoto <atsushi@ximian.com>
363 * OperationInvokerHandler.cs, ReplyHandler.cs :
364 - Eliminate ReplyHandler use. What is does is simple reply, while
365 it brings inconsistency between sync and async models.
366 What reply handler used to do are now integrated.
367 - Support ErrorHandlers and InputSessionShutdownHandlers.
368 Actually ErrorHandlers were processed at wrong place and they
369 weren't called where they are expected.
370 * InputOrReplyRequestProcessor.cs : hence eliminated ReplyHandler.
371 * BaseRequestProcessor.cs : add FIXME notes on ErrorHandlers.
373 2009-09-04 Atsushi Enomoto <atsushi@ximian.com>
375 * ChannelDispatcher.cs : remove obsoleted method.
377 2009-09-02 Atsushi Enomoto <atsushi@ximian.com>
379 * BaseMessagesFormatter.cs :
380 implement XmlBodyWriter.OnCreateBufferedCopy().
382 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
384 * CallbackInstanceContextProvider.cs : new instance context provider
385 used by duplex client dispatcher.
387 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
389 * SecurityHandler.cs : skip callback duplex blocker.
391 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
393 * EndpointDispatcher.cs, ChannelDispatcher.cs : differentiate
394 service dispatch and callback client dispatch at initialization.
396 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
398 * ChannelDispatcher.cs : also made reference to host optional.
400 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
402 * ChannelDispatcher.cs : isolated loop manager class from parent,
403 as well as moved some code from parent.
405 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
407 * ChannelDispatcherCollection.cs : remove extra members.
409 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
411 * ChannelDispatcher.cs, EndpointDispatcher.cs :
412 moved some initialization code from ServiceHostBase, to start
413 reducing dependencies on ServiceHostBase.
415 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
417 * ChannelDispatcher.cs : handle unknown message in host event.
419 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
421 * EndpointDispatcher.cs : do not try to create wrong filter.
423 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
425 * ChannelDispatcher.cs : EndpointNotFoundException message could
428 2009-08-11 Atsushi Enomoto <atsushi@ximian.com>
430 * IOperationInvoker.cs : fix interface.
431 * DefaultOperationInvoker.cs : refresh implementation of the above.
432 * BaseMessagesFormatter.cs, OperationInvokerHandler.cs :
433 dependent changes for above.
435 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
437 * InputOrReplyRequestProcessor.cs : now it could return an instance
438 of dynamically generated proxy over DuplexServiceRuntimeChannel.
440 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
442 * ClientRuntime.cs : oops, it should have been committed at a time.
443 Change .ctor() args. Make some properties auto.
445 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
447 * DispatchRuntime.cs : callback runtime is set later.
449 2009-08-06 Atsushi Enomoto <atsushi@ximian.com>
452 .ctor() just needs contract. Fill some properties.
454 2009-08-04 Atsushi Enomoto <atsushi@ximian.com>
456 * ReplyHandler.cs : there is better way to check IsOneWay.
458 2009-08-04 Atsushi Enomoto <atsushi@ximian.com>
460 * OperationInvokerHandler.cs : One way operation has no reply.
461 * ReplyHandler.cs : ditto.
463 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
465 * ChannelDispatcher.cs : raise error on multiple endpoint match
466 (documented at EndpointDispatcher.FilterPriority).
468 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
470 * ChannelDispatcher.cs : move Open() inside acceptor lock, so that
471 the channel does not have to be fired Receive() before Open().
473 2009-07-14 Atsushi Enomoto <atsushi@ximian.com>
475 * DispatchRuntime.cs : add ValidateMustUnderstand.
476 * DispatchOperation.cs : add AutoDisposeParameters.
478 2009-07-02 Atsushi Enomoto <atsushi@ximian.com>
480 * ChannelDispatcher.cs : when service instance is provided to the
481 ServiceHost, do not reject Type-less state.
483 2009-06-29 Atsushi Enomoto <atsushi@ximian.com>
485 * ChannelDispatcher.cs : do not iterate extra channel acceptance
486 and hence close channels a bit more gracefully.
488 2009-06-25 Atsushi Enomoto <atsushi@ximian.com>
490 * ChannelDispatcher.cs : instead of discarding channels, reuse them
491 unless it is closed by session manager (session manager does not
492 work, so channels are not actually closed automatically yet).
494 2009-06-25 Atsushi Enomoto <atsushi@ximian.com>
496 * SessionInstanceContextProvider.cs : new instance context provider.
498 2009-06-23 Atsushi Enomoto <atsushi@ximian.com>
500 * DispatchRuntime.cs : do not fill InstanceContextProvider here.
501 * ChannelDispatcher.cs : do it here instead.
502 * ChannelDispatcherCollection.cs : remove TODOs.
504 2009-06-23 Atsushi Enomoto <atsushi@ximian.com>
506 * InputOrReplyRequestProcessor.cs : bogus initialization.
508 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
510 * ChannelDispatcher.cs : significant changes:
511 - simplified Open/Close async.
512 - implement OnAbort().
513 - create ServiceThrottle when it is null.
514 - Channels are accepted as much as the throttle allows, and
515 process requests when accepted an input (now it holds more than
517 - Support ReceiveSynchronously and use Begin/EndAcceptChannel()
519 - Close all channels and the listener when it is closed.
520 - Cosmetic simplification on channel acceptor delegate creation.
522 2009-06-09 Atsushi Enomoto <atsushi@ximian.com>
524 * ChannelDispatcher.cs : avoid NRE (actually it should eliminate
525 Thread.Abort()). Added some comments on throttling.
527 2009-06-09 Atsushi Enomoto <atsushi@ximian.com>
529 * ServiceThrottle.cs : implement.
531 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
533 * ChannelDispatcher.cs :
534 Add call to base (see CommunicationObject change).
536 2009-06-01 Atsushi Enomoto <atsushi@ximian.com>
538 * ChannelDispatcher.cs : handle more errors gracefully.
540 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
542 * ErrorProcessingHandler.cs, InputOrReplyRequestProcessor.cs :
543 they also premise request-reply channel and broke duplex channels.
545 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
547 * ChannelDispatcher.cs : open channel before using it.
549 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
551 * ReplyHandler.cs, InputOrReplyRequestProcessor.cs,
552 MessageProcessingContext.cs : reply processing is also needed by
553 non-request channels (i.e. duplex). Current code basis lacked
554 such possibility. Quick fix by adding duplex support in
557 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
559 * ChannelDispatcher.cs, SecurityHandler.cs,
560 InputOrReplyRequestProcessor.cs, MessageProcessingContext.cs :
561 remove default communication timeouts from several types. They
562 bring bogus NRE. Instead, fill timeouts in ChannelDispatcher and
563 use it when required (it was actually *only* request processor).
565 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
567 * ChannelDispatcher.cs : wrong channel argument.
569 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
571 * DispatchRuntime.cs : some comment.
572 * ChannelDispatcher.cs : ongoing changes to handle listeners and
573 accepted channels at more precise state. Listeners are opened,
574 without accepting channels. Some setup code is done at OnOpen(),
575 while some are done at OnOpened().
577 2009-04-23 Atsushi Enomoto <atsushi@ximian.com>
579 * DispatchOperation.cs : implement GetFormatter() at service side too.
581 2009-04-01 Atsushi Enomoto <atsushi@ximian.com>
583 * OperationInvokeHandler.cs : replace MS copycat exception message.
585 2009-02-26 Atsushi Enomoto <atsushi@ximian.com>
587 * ClientRuntime.cs : fill contractType in .ctor().
589 2009-02-04 Atsushi Enomoto <atsushi@ximian.com>
591 * BaseMessagesFormatter.cs : do not use non-2.1 CreateInstance().
593 2008-06-18 Noam Lampert <noaml@mainsoft.com>
595 * ChannelDispatcher.cs: Avoid aborting host process on faulty input message.
597 2008-05-22 Noam Lampert <noaml@mainsoft.com>
599 * OperationInvokeHandler.cs: Only return fault reply when TargetInvocation occured (not other internal
600 errors. Serlialize the correct (inner) exception.
602 2008-05-22 Roei Erez <roeie@mainsoft.com>
603 * fix ContractDescription.GetContract implementation
604 * Refactor Request processing
605 * Add support for message inspectors
606 * Add support for InstanceContextProvider & InstanceProvider, including lifecycles events
607 like: ReleaseServiceInstance, Open, Close...
608 * Add relevant test cases.
610 2008-05-01 Eyal Alaluf <eyala@mainsoft.com>
612 * BaseMessagesFormatter.cs: Handle methods with out parameters that return
614 * DispatchOperation.cs, IOperationInvoker.cs: Simplify method invocation.
616 2008-04-22 Igor Zelmanovich <igorz@mainsoft.com>
618 * DispatchOperation.cs: removed dependency on OperationDescription,
619 allows usage of custom channel dispatcher without endpoint was explicitly
622 2008-04-22 Igor Zelmanovich <igorz@mainsoft.com>
624 * MexInstanceContextProvider.cs - remove unused code.
626 2008-04-21 Roei Erez <roeie@mainsoft.com>
628 * ChannelDispatcher.cs - Change order of Dispatcher shutdown
630 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
632 * ChannelDispatcher.cs, EndpointDispatcher.cs: removed dependency on
633 ServiceDescription/ServiceEndpoint, allows usage of channel dispatcher
634 without endpoint was explicitly built
635 * EndpointDispatcher.cs: Filters lazy evaluation, refactored
636 communication processing, logic moved to channel dispatcher
638 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
640 * ActionMessageFilter.cs: fixed Match, match for "*" action
642 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
644 * DispatchOperation.cs: fixed ProcessRequest, fault message creation
646 2008-04-10 Eyal Alaluf <eyala@mainsoft.com>
648 * DefaultMessageOperationFormatter.cs: Moved to BaseMessagesFormatter.cs.
649 * BaseMessagesFormatter.cs: Refactored so typed messages uses the classes
650 defined here instead of the other way around.
651 Added support for by-ref and out parameters.
652 Added support for XmlSerializerFormat serializaters..
653 * DispatchOperation.cs, ClientOperation.cs: Use BaseMessagesFormatter.Create
655 2008-04-09 Roei Erez <roeie@mainsoft.com>
657 * Remove unused nethod from previous commit
659 2008-04-08 Roei Erez <roeie@mainsoft.com>
661 * ChannelDispatcher.cs
663 - Add support for Endpoints property
664 - Remove the hack of 'endpoint_dispatcher' field
665 * ChannelDispatcherCollection.cs
666 - Add support for 'Attach' 'Detach'
667 * EndpointDispatcher.cs
668 - By default create MatchAllMessageFilter.
670 2008-02-17 Atsushi Enomoto <atsushi@ximian.com>
672 * EndpointDispatcher.cs : we don't need AddressFilter workaround
673 from Feb. 14 anymore.
675 2008-02-17 Atsushi Enomoto <atsushi@ximian.com>
677 * EndpointDispatcher.cs : after service method call, apply outgoing
678 headers and properties to the returned message.
680 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
682 * ChannelDispatcher.cs : populate DispatchOperations before applying
683 IEndpointBehaviors so that those behaviors can modify dispatch
686 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
688 * DispatchOperation.cs : Action may be null. For such cases, use
689 MessageDirection to determine the message description.
691 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
693 * EndpointAddressMessageFilter.cs : implement Match(MessageBuffer).
694 Use ordinal string comparison.
695 * PrefixEndpointAddressMessageFilter.cs : implement Match() (both).
697 2008-02-14 Atsushi Enomoto <atsushi@ximian.com>
699 * EndpointDispatcher.cs : moved AddressFilter application only when
700 DispatchOperation was not selected (it is sort of workaround).
702 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
704 * DefaultMessageOperationFormatter.cs : Fixed SerializeReply() for
705 message contract type to process result, not the parameter.
707 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
709 * SingletonInstanceContextProvider.cs : new.
711 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
713 * DefaultMessageOperationFormatter.cs : dependent changes on
714 message serializer and deserializer.
716 2007-03-24 Atsushi Enomoto <atsushi@ximian.com>
718 * DefaultMessageOperationFormatter.cs :
719 use it for deserialization as well.
721 2007-03-24 Atsushi Enomoto <atsushi@ximian.com>
723 * DefaultMessageOperationFormatter.cs : consider message contracts
724 during message serialization/deserialization.
726 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
728 * EndpointDispatcher.cs : now dispatcher-side foundation for token
729 negotiation is ready. Handle negotiation message on its own way.
730 * DispatchOperation.cs : instead of returning irrelevant SOAP Fault,
731 simply raise an error and let FaultConverter do better work.
733 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
735 * EndpointDispatcher.cs : use ErrorHandlers when error was raised.
736 Handle exceptions to make into SOAP Fault, using FaultConverter.
737 * ChannelDispatcher.cs : simply get ServiceEndpoint at Attach().
738 * ChannelDispatcherBase.cs : removed MonoTODOs.
740 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
742 * ChannelDispatcher.cs, DispatchRuntime.cs, EndpointDispatcher.cs :
743 moved most of request/input processing to EndpointDispatcher.cs.
744 Also, ChannelDispatcher now contains code for behavior
747 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
749 * ChannelDispatcher.cs : some cosmetic refactoring on error handling
752 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
754 * ChannelDispatcher.cs, DispatchRuntime.cs, DispatchOperation.cs :
755 Support OperationContext and OperationContextScope with
756 ServiceRuntimeChannel as its .ctor() input.
758 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
760 * DispatchRuntime.cs : raise an error when the DispatchOperation
761 returned null Message.
763 2006-10-18 Ankit Jain <jankit@novell.com>
765 * MexInstanceContextProvider.cs (HttpGetInstanceContextProvider): New.
766 * DispatchOperation.cs (DoProcessRequest): InstanceContext returned by
767 the provider can be null.
768 * EndpointAddressMessageFilter.cs (Match): Handle IncludeHostNameInComparison.
770 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
772 * DispatchOperation.cs : slightly improved exception message.
774 2006-10-06 Ankit Jain <jankit@novell.com>
776 * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore):
777 ReceiveRequest can return null.
779 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
781 * ClientRuntime.cs : added MaxFaultSize.
783 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
785 * ChannelDispatcher.cs : don't reject anonymous and null To.
787 2006-10-04 Ankit Jain <jankit@novell.com>
789 * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore): Reply with a
790 Fault message if message's To doesn't match the endpoint.
791 (ListenerLoopManager.CreateDestinationUnreachable): New.
792 * IInstanceContextProvider.cs: New.
793 * MexInstanceContextProvider.cs: New. InstanceContextProvider for
795 (MetadataExchange): Implementation of IMetadataExchange.
796 * DispatchRuntime.cs (InstanceContextProvider): Add missing property.
797 * DispatchOperation.cs (DoProcessRequest): Use InstanceContextProvider
798 if available to obtain service instance.
799 * EndpointDispatcher.cs (.ctor): Set AddressFilter to EndpointAddressMessageFilter.
800 * EndpointAddressMessageFilter.cs (Match): Implement.
802 2006-10-03 Atsushi Enomoto <atsushi@ximian.com>
804 * ClientRuntime.cs : added InteractiveChannelInitializer.
806 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
808 * DispatchOperation.cs : removed extra comment.
810 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
812 * DispatchOperation.cs : workaround to send exception detail.
814 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
816 * ICallContextInitializer.cs : new file.
817 * DispatchOperation.cs : use above.
818 Not sure if it works correctly though.
820 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
822 * DispatchOperation.cs : when there is an error during
823 ProcessRequest(), wrap the exception with MessageFault and return
826 2006-08-10 Duncan Mak <duncan@novell.com>
828 * ExceptionHandler.cs: New file.
830 * ServiceThrottle.cs (MaxConnections): Renamed to
831 MaxConcurrentSessions.
832 (MaxInstances): Renamed to MaxConcurrentInstances.
834 2006-07-27 Atsushi Enomoto <atsushi@ximian.com>
836 * IInteractiveChannelInitializer.cs : new file.
838 2006-07-14 Atsushi Enomoto <atsushi@ximian.com>
840 * IErrorHandler.cs : API updates.
842 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
844 * DispatchRuntime.cs :
845 it was selecting UnhandledOperation unexpectedly.
846 * DispatchOperation.cs : added FIXME comment.
848 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
850 * DefaultMessageOperationFormatter.cs : Remove hack for non-
851 (de)serializing Message-based methods. They are now moved to
852 ClientBase and ServiceHostBase to explicitly set
853 [Serialize|Deserialize][Request|Reply].
855 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
857 * DefaultMessageOperationFormatter.cs : don't omit action on
858 SerializeRequest. Do it in SerializeReply.
860 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
862 * DefaultMessageOperationFormatter.cs : When addressing version is
863 None, then omit reply action. This logic is moved from MessageImpl.
865 2006-07-11 Atsushi Enomoto <atsushi@ximian.com>
867 * DefaultMessageOperationFormatter.cs :
868 return message, not parameter[0]. Removed some extra FIXMEs.
870 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
872 * DefaultMessageOperationFormatter.cs : when the parameter is
873 Message and the return type is Message, then do not use
876 2006-07-07 Atsushi Enomoto <atsushi@ximian.com>
878 * PrefixEndpointAddressMessageFilter.cs, FaultContractInfo.cs :
879 new types in June CTP.
880 * ISharedInstanceSessionLifetime.cs:
882 * ChannelDispatcher.cs, MatchAllMessageFilter.cs, DispatchRuntime.cs,
883 DispatchOperation.cs, ClientRuntime.cs, MatchNoneMessageFilter.cs,
884 ClientOperation.cs, ActionMessageFilterTable.cs,
885 EndpointAddressMessageFilterTable.cs :
886 several minor fixes for June CTP.
888 2006-07-06 Atsushi Enomoto <atsushi@ximian.com>
890 * DispatchOperation.cs : MessageFault.DefaultAction vanished.
892 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
894 * IClientFormatter.cs, IClientMessageFormatter.cs,
895 IDispatchFormatter.cs, IDispatchMessageFormatter.cs :
896 renamed former to latter, for each.
898 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
900 * ChannelDispatcher.cs, DispatchRuntime.cs :
901 IRequestContext -> RequestContext.
903 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
905 * ChannelDispatcher.cs, IDispatchFormatter.cs,
906 DefaultMessageOperationFormatter.cs, IClientFormatter.cs,
907 DispatchOperation.cs, ClientOperation.cs :
908 some June CTP updates.
910 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
912 * DefaultMessageOperationFormatter.cs : implement SerializeRequest()
913 and DeserializeReply(). Now simple ClientBase<T> sample is working.
915 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
917 * ClientOperation.cs : added GetFormatter() to support message
918 serialization/deserialization.
919 * DispatchOperation.cs : made some internal members private
920 (they are exposed extraneously). Commented out debugging code.
922 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
924 * DefaultMessageOperationFormatter.cs : In SerializeReply(), use
925 custom BodyWriter() and use MessagePartDescription names. Now
926 return value and other (ref/out) parameters could be equivalently
927 serialized (at this method; to support them more love is needed).
929 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
931 * DefaultMessageOperationFormatter.cs :
932 Action for response is null (though it is likely conditional).
934 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
936 * DefaultMessageOperationFormatter.cs :
937 true DeserializeReply implementation using Message.CreateMessage()
938 with DataContractSerializer (not complete though).
940 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
942 * ChannelDispatcher.cs, DispatchOperation.cs,
943 ChannelDispatcherBase.cs :
944 some updated API fixes.
946 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
948 * EndpointDispatcher.cs : moved from Sys.ServiceModel.
950 2006-04-20 Atsushi Enomoto <atsushi@ximian.com>
952 * ClientRuntime.cs : some minor collection instantiation and comments.
954 2006-04-07 Atsushi Enomoto <atsushi@ximian.com>
956 * DispatchOperation.cs : Implemented internal MessageVersion.
957 hacked instance provision by using Activator.CreateInstance.
958 * DefaultMessageOperationFormatter.cs : fixed DeserializeRequest to
959 be functional. Implemented SerializeReply.
961 2006-04-05 Atsushi Enomoto <atsushi@ximian.com>
963 * DispatchOperation.cs : return SOAP fault message for nonexistent
965 * DefaultMessageOperationFormatter.cs : implemented
966 DeserializeRequest(), though there is no working example.
968 2006-03-17 Atsushi Enomoto <atsushi@ximian.com>
970 * DispatchOperation.cs : implemented logic to acquire
971 OperationDescription. Added code for default IDispatchFormatter
973 * DispatchRuntime.cs : fix warning.
974 * DefaultMessageOperationFormatter.cs : new file, for default
975 IDispatchFormatter implementation (not done yet).
976 * ChannelDispatcher.cs : create EndpointDispatcher in Attach and
977 bind to this instance.
979 2006-03-16 Atsushi Enomoto <atsushi@ximian.com>
981 * ChannelDispatcherCollection.cs : added parameterless ctor().
982 * ChannelDispatcher.cs DispatchRuntime.cs DispatchOperation.cs :
983 Set some initial field values as proved in unit tests.
984 Request/input processing is still ongoing.
986 2006-03-13 Atsushi Enomoto <atsushi@ximian.com>
988 * ChannelDispatcher.cs
990 DispatchOperation.cs : added request/input processing code.
992 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
994 * ChannelDispatcher.cs : Get "AcceptChannel" method without ambiguity.
996 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
998 * ChannelDispatcher.cs : Added request-processing code.
1000 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
1002 * ChannelDispatcher.cs : implement Attach() and Detach() more to work.
1004 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
1006 * DispatchBehavior.cs :
1007 Dependent fixes for System.IdentityModel reorgainzation.
1009 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
1011 * FilterNodeQuotaExceededException.cs
1012 FilterInvalidBodyAccessException.cs DispatchBehavior.cs
1013 DispatchOperation.cs NavigatorInvalidBodyAccessException.cs
1014 MatchNoneFilter.cs ActionFilter.cs
1015 MultipleFilterMatchesException.cs Filter.cs
1016 IInstanceContextInitializer.cs XPathFilter.cs
1017 IDispatchOperationSelector.cs MatchAllFilter.cs
1018 ActionFilterTable.cs EndpointAddressFilter.cs FilterTable.cs
1019 EndpointFilterTable.cs XPathMessageContext.cs
1020 IEndpointDispatcher.cs ProxyBehavior.cs
1021 ProxyOperation.cs XPathFilterTable.cs
1022 EndpointAddressFilterTable.cs InvalidBodyAccessException.cs
1023 IFilterTable.cs IOperationInvoker.cs :
1024 moved from System.ServiceModel due to the API changes.