1 2010-04-20 Atsushi Enomoto <atsushi@ximian.com>
3 * OperationInvokerHandler.cs : workaround NRE issue in AsyncCallTest.
4 The original code was worse than this workaround.
6 2010-04-05 Atsushi Enomoto <atsushi@ximian.com>
8 * EndpointAddressMessageFilter.cs : check null arg. Return false for
9 no To header case and do not result in NRE.f
11 2010-04-05 Atsushi Enomoto <atsushi@ximian.com>
13 * BaseMessagesFormatter.cs : hasParameter check is incorrectly
14 restrictive to reject some kinds of pairs.
16 2010-04-02 Atsushi Enomoto <atsushi@ximian.com>
18 * FaultContractInfo.cs : add serializer property.
20 2010-04-02 Atsushi Enomoto <atsushi@ximian.com>
22 * ClientOperation.cs : do not automatically fill FaultContractInfos.
24 2010-04-02 Atsushi Enomoto <atsushi@ximian.com>
26 * OperationInvokerHandler.cs : implement FaultContractInfos support.
27 * ErrorProcessingHandler.cs : update comment. It is not relevant.
29 2010-04-02 Atsushi Enomoto <atsushi@ximian.com>
31 * EndpointDispatcher.cs : fill FaultContractInfos.
32 * DispatchOperation.cs : do not fill them dynamically/automatically.
33 * ErrorProcessingHandler.cs : added some FIXME notes.
35 2010-03-30 Atsushi Enomoto <atsushi@ximian.com>
37 * ChannelDispatcher.cs : differentiate EndpointNotFound and
38 ActionNotSupported so that FaultConverter can create appropriate
39 fault messages. Removed extra filter condition on null To item.
40 And create fault messages on *any* server side error, do not let
41 request client infinitely wait for the response until timeout.
43 (RunDestinationUnreachableTest() is still not working but it works
46 2010-03-30 Atsushi Enomoto <atsushi@ximian.com>
48 * ChannelDispatcher.cs : for faults, use fault namespace, not that of
49 ReplyAction. Added FIXME comment regarding dispatcher.
51 2010-03-25 Atsushi Enomoto <atsushi@ximian.com>
53 * OperationInvokerHandler.cs : removed unused code.
55 2010-03-24 Atsushi Enomoto <atsushi@ximian.com>
57 * ChannelDispatcher.cs : return EndpointDispatcher at initializing
58 for internal use. Add some locks. Patch by Matt Dargavel.
60 2010-03-24 Atsushi Enomoto <atsushi@ximian.com>
62 * ChannelDispatcher.cs : fix wrong method call in open_delegate.
63 Patch by Matt Dargavel.
65 2010-03-24 Atsushi Enomoto <atsushi@ximian.com>
67 * ChannelDispatcher.cs : give the actual exception message instead
70 2010-03-18 Atsushi Enomoto <atsushi@ximian.com>
72 * XPathMessageContext.cs : implement.
73 * XPathMessageFilterTable.cs : add some missing overloads.
75 2010-02-26 Atsushi Enomoto <atsushi@ximian.com>
77 * InputOrReplyRequestProcessor.cs : now ServiceRuntimeChannel is
78 moved to fake public namespace.
80 2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
82 * ChannelDispatcher.cs : revert previous change - it could result
83 in blocking some threads and block nunit completion.
85 2010-02-04 Atsushi Enomoto <atsushi@ximian.com>
87 * ChannelDispatcher.cs : now I can enable service throttling to
88 handle more than one concurrent channels as ASP.NET reply channel
91 2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
93 * ChannelDispatcher.cs : actually instance context provider could be
94 null through the entire service run.
96 Fixed all current nunit failures!
98 2010-01-22 Atsushi Enomoto <atsushi@ximian.com>
100 * ChannelDispatcher.cs : do not try to iterate channel acceptor when
103 2010-01-19 Atsushi Enomoto <atsushi@ximian.com>
105 * ChannelDispatcher.cs : another error audit.
107 2010-01-13 Atsushi Enomoto <atsushi@ximian.com>
109 * FaultContractInfo.cs : implement.
110 * DispatchOperation.cs, ClientOperation.cs: fill Faults.
112 2010-01-08 Atsushi Enomoto <atsushi@ximian.com>
114 * EndpointDispatcher.cs, InputOrReplyRequestProcessor.cs :
115 Pass service type to correctly retrieve ServiceContractAttribute
116 from the service type, not callback type.
118 2010-01-07 Atsushi Enomoto <atsushi@ximian.com>
120 * ChannelDispatcher.cs : make sure to unlock channel acceptor wait
121 handle when the delegated method resulted in an error.
123 2009-12-26 Atsushi Enomoto <atsushi@ximian.com>
125 * ChannelDispatcher.cs : close such channels that failed to receive
128 2009-12-26 Atsushi Enomoto <atsushi@ximian.com>
130 * DispatchRuntime.cs : shortened code and scattered monotodos.
132 2009-12-10 Atsushi Enomoto <atsushi@ximian.com>
134 * OperationInvokerHandler.cs : fix async operation handling. Since
135 the entire handler chain is designed to be in synchronous, one
136 single handler must not leave its work incomplete (async). Just
137 wait for the async process completion within the handler.
139 2009-12-07 Atsushi Enomoto <atsushi@ximian.com>
141 * ChannelDispatcher.cs : fix regression; ServiceBehaviorAttribute
142 could be set explicitly null.
144 2009-12-07 Atsushi Enomoto <atsushi@ximian.com>
146 * ChannelDispatcher.cs : handle AddressFilterMode (.Any only yet).
147 * OperationInvokerHandler.cs : fix wrong IAsyncResult use.
149 2009-12-07 Atsushi Enomoto <atsushi@ximian.com>
151 * InstanceBehavior.cs : allow nonpublic instance.
152 * DefaultOperationInvoker.cs : do use IsSynchronous correctly.
154 2009-10-22 Atsushi Enomoto <atsushi@ximian.com>
156 * ChannelDispatcher.cs : disable concurrent channel acceptance
157 until it gets working fine.
159 2009-10-16 Atsushi Enomoto <atsushi@ximian.com>
161 * ChannelDispatcher.cs : fix warnings.
163 2009-10-16 Atsushi Enomoto <atsushi@ximian.com>
165 * ClientOperation.cs, ClientRuntime.cs : another couple of changes
166 are required to not use non-SL types.
168 2009-10-16 Atsushi Enomoto <atsushi@ximian.com>
170 * ClientRuntime.cs : enable Operations property on monotouch.
171 Hopefully it will enable us to build WebHttpBinding.
173 2009-10-09 Atsushi Enomoto <atsushi@ximian.com>
175 * ChannelDispatcher.cs : OnOpened/OnOpening constraints related
176 changes were required here too. Actually it simplified code.
178 2009-10-06 Atsushi Enomoto <atsushi@ximian.com>
180 * OperationInvokerHandler.cs : a bit more explaining message.
182 2009-10-05 Atsushi Enomoto <atsushi@ximian.com>
184 * ChannelDispatcher.cs : make sure to close, *and* abort channels
185 in case they failed to close. Also consider close timeouts.
186 Rename a field to make less confusing.
188 2009-09-17 Atsushi Enomoto <atsushi@ximian.com>
190 * ChannelDispatcher.cs, EndpointDispatcher.cs :
191 when an EndpointDispatcher is added to ChannelDispatcher, its
192 ChannelDispatcher property is automatically filled. To do this,
193 create a derived collection type for Endpoints (that's what .NET
194 does). Remove extra InitializeEndpoint() argument.
196 2009-09-17 Atsushi Enomoto <atsushi@ximian.com>
198 * OperationInvokerHandler.cs : make error message a bit verbose.
200 2009-09-16 Atsushi Enomoto <atsushi@ximian.com>
202 * ChannelDispatcher.cs : make sure to close the request context,
203 some channels such as http keeps opening it. Patch by Levi Bard.
206 2009-09-14 Atsushi Enomoto <atsushi@ximian.com>
208 * ChannelDispatcher.cs : do not try to wait for channel closer
209 handle when the loop is not started yet. This fixes lengthy wait
212 2009-09-11 Atsushi Enomoto <atsushi@ximian.com>
214 * EndpointDispatcher.cs : AddressFilter is always non-null.
215 * DispatchRuntime.cs : CallbackClientRuntime seems to be created even
216 for non-callback dispatchers. Fixing this also results in fixes in
217 couple of nunit regressions.
218 * InputOrReplyRequestProcessor.cs : the change above required fix
219 here too (it has null check).
221 2009-09-11 Atsushi Enomoto <atsushi@ximian.com>
223 * BaseMessagesFormatter.cs, DefaultOperationInvoker.cs:
224 Fix the crash that ref parameter in contract methods caused.
226 2009-09-04 Atsushi Enomoto <atsushi@ximian.com>
228 * OperationInvokerHandler.cs, ReplyHandler.cs :
229 - Eliminate ReplyHandler use. What is does is simple reply, while
230 it brings inconsistency between sync and async models.
231 What reply handler used to do are now integrated.
232 - Support ErrorHandlers and InputSessionShutdownHandlers.
233 Actually ErrorHandlers were processed at wrong place and they
234 weren't called where they are expected.
235 * InputOrReplyRequestProcessor.cs : hence eliminated ReplyHandler.
236 * BaseRequestProcessor.cs : add FIXME notes on ErrorHandlers.
238 2009-09-04 Atsushi Enomoto <atsushi@ximian.com>
240 * ChannelDispatcher.cs : remove obsoleted method.
242 2009-09-02 Atsushi Enomoto <atsushi@ximian.com>
244 * BaseMessagesFormatter.cs :
245 implement XmlBodyWriter.OnCreateBufferedCopy().
247 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
249 * CallbackInstanceContextProvider.cs : new instance context provider
250 used by duplex client dispatcher.
252 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
254 * SecurityHandler.cs : skip callback duplex blocker.
256 2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
258 * EndpointDispatcher.cs, ChannelDispatcher.cs : differentiate
259 service dispatch and callback client dispatch at initialization.
261 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
263 * ChannelDispatcher.cs : also made reference to host optional.
265 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
267 * ChannelDispatcher.cs : isolated loop manager class from parent,
268 as well as moved some code from parent.
270 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
272 * ChannelDispatcherCollection.cs : remove extra members.
274 2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
276 * ChannelDispatcher.cs, EndpointDispatcher.cs :
277 moved some initialization code from ServiceHostBase, to start
278 reducing dependencies on ServiceHostBase.
280 2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
282 * ChannelDispatcher.cs : handle unknown message in host event.
284 2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
286 * EndpointDispatcher.cs : do not try to create wrong filter.
288 2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
290 * ChannelDispatcher.cs : EndpointNotFoundException message could
293 2009-08-11 Atsushi Enomoto <atsushi@ximian.com>
295 * IOperationInvoker.cs : fix interface.
296 * DefaultOperationInvoker.cs : refresh implementation of the above.
297 * BaseMessagesFormatter.cs, OperationInvokerHandler.cs :
298 dependent changes for above.
300 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
302 * InputOrReplyRequestProcessor.cs : now it could return an instance
303 of dynamically generated proxy over DuplexServiceRuntimeChannel.
305 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
307 * ClientRuntime.cs : oops, it should have been committed at a time.
308 Change .ctor() args. Make some properties auto.
310 2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
312 * DispatchRuntime.cs : callback runtime is set later.
314 2009-08-06 Atsushi Enomoto <atsushi@ximian.com>
317 .ctor() just needs contract. Fill some properties.
319 2009-08-04 Atsushi Enomoto <atsushi@ximian.com>
321 * ReplyHandler.cs : there is better way to check IsOneWay.
323 2009-08-04 Atsushi Enomoto <atsushi@ximian.com>
325 * OperationInvokerHandler.cs : One way operation has no reply.
326 * ReplyHandler.cs : ditto.
328 2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
330 * ChannelDispatcher.cs : raise error on multiple endpoint match
331 (documented at EndpointDispatcher.FilterPriority).
333 2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
335 * ChannelDispatcher.cs : move Open() inside acceptor lock, so that
336 the channel does not have to be fired Receive() before Open().
338 2009-07-14 Atsushi Enomoto <atsushi@ximian.com>
340 * DispatchRuntime.cs : add ValidateMustUnderstand.
341 * DispatchOperation.cs : add AutoDisposeParameters.
343 2009-07-02 Atsushi Enomoto <atsushi@ximian.com>
345 * ChannelDispatcher.cs : when service instance is provided to the
346 ServiceHost, do not reject Type-less state.
348 2009-06-29 Atsushi Enomoto <atsushi@ximian.com>
350 * ChannelDispatcher.cs : do not iterate extra channel acceptance
351 and hence close channels a bit more gracefully.
353 2009-06-25 Atsushi Enomoto <atsushi@ximian.com>
355 * ChannelDispatcher.cs : instead of discarding channels, reuse them
356 unless it is closed by session manager (session manager does not
357 work, so channels are not actually closed automatically yet).
359 2009-06-25 Atsushi Enomoto <atsushi@ximian.com>
361 * SessionInstanceContextProvider.cs : new instance context provider.
363 2009-06-23 Atsushi Enomoto <atsushi@ximian.com>
365 * DispatchRuntime.cs : do not fill InstanceContextProvider here.
366 * ChannelDispatcher.cs : do it here instead.
367 * ChannelDispatcherCollection.cs : remove TODOs.
369 2009-06-23 Atsushi Enomoto <atsushi@ximian.com>
371 * InputOrReplyRequestProcessor.cs : bogus initialization.
373 2009-06-18 Atsushi Enomoto <atsushi@ximian.com>
375 * ChannelDispatcher.cs : significant changes:
376 - simplified Open/Close async.
377 - implement OnAbort().
378 - create ServiceThrottle when it is null.
379 - Channels are accepted as much as the throttle allows, and
380 process requests when accepted an input (now it holds more than
382 - Support ReceiveSynchronously and use Begin/EndAcceptChannel()
384 - Close all channels and the listener when it is closed.
385 - Cosmetic simplification on channel acceptor delegate creation.
387 2009-06-09 Atsushi Enomoto <atsushi@ximian.com>
389 * ChannelDispatcher.cs : avoid NRE (actually it should eliminate
390 Thread.Abort()). Added some comments on throttling.
392 2009-06-09 Atsushi Enomoto <atsushi@ximian.com>
394 * ServiceThrottle.cs : implement.
396 2009-06-08 Atsushi Enomoto <atsushi@ximian.com>
398 * ChannelDispatcher.cs :
399 Add call to base (see CommunicationObject change).
401 2009-06-01 Atsushi Enomoto <atsushi@ximian.com>
403 * ChannelDispatcher.cs : handle more errors gracefully.
405 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
407 * ErrorProcessingHandler.cs, InputOrReplyRequestProcessor.cs :
408 they also premise request-reply channel and broke duplex channels.
410 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
412 * ChannelDispatcher.cs : open channel before using it.
414 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
416 * ReplyHandler.cs, InputOrReplyRequestProcessor.cs,
417 MessageProcessingContext.cs : reply processing is also needed by
418 non-request channels (i.e. duplex). Current code basis lacked
419 such possibility. Quick fix by adding duplex support in
422 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
424 * ChannelDispatcher.cs, SecurityHandler.cs,
425 InputOrReplyRequestProcessor.cs, MessageProcessingContext.cs :
426 remove default communication timeouts from several types. They
427 bring bogus NRE. Instead, fill timeouts in ChannelDispatcher and
428 use it when required (it was actually *only* request processor).
430 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
432 * ChannelDispatcher.cs : wrong channel argument.
434 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
436 * DispatchRuntime.cs : some comment.
437 * ChannelDispatcher.cs : ongoing changes to handle listeners and
438 accepted channels at more precise state. Listeners are opened,
439 without accepting channels. Some setup code is done at OnOpen(),
440 while some are done at OnOpened().
442 2009-04-23 Atsushi Enomoto <atsushi@ximian.com>
444 * DispatchOperation.cs : implement GetFormatter() at service side too.
446 2009-04-01 Atsushi Enomoto <atsushi@ximian.com>
448 * OperationInvokeHandler.cs : replace MS copycat exception message.
450 2009-02-26 Atsushi Enomoto <atsushi@ximian.com>
452 * ClientRuntime.cs : fill contractType in .ctor().
454 2009-02-04 Atsushi Enomoto <atsushi@ximian.com>
456 * BaseMessagesFormatter.cs : do not use non-2.1 CreateInstance().
458 2008-06-18 Noam Lampert <noaml@mainsoft.com>
460 * ChannelDispatcher.cs: Avoid aborting host process on faulty input message.
462 2008-05-22 Noam Lampert <noaml@mainsoft.com>
464 * OperationInvokeHandler.cs: Only return fault reply when TargetInvocation occured (not other internal
465 errors. Serlialize the correct (inner) exception.
467 2008-05-22 Roei Erez <roeie@mainsoft.com>
468 * fix ContractDescription.GetContract implementation
469 * Refactor Request processing
470 * Add support for message inspectors
471 * Add support for InstanceContextProvider & InstanceProvider, including lifecycles events
472 like: ReleaseServiceInstance, Open, Close...
473 * Add relevant test cases.
475 2008-05-01 Eyal Alaluf <eyala@mainsoft.com>
477 * BaseMessagesFormatter.cs: Handle methods with out parameters that return
479 * DispatchOperation.cs, IOperationInvoker.cs: Simplify method invocation.
481 2008-04-22 Igor Zelmanovich <igorz@mainsoft.com>
483 * DispatchOperation.cs: removed dependency on OperationDescription,
484 allows usage of custom channel dispatcher without endpoint was explicitly
487 2008-04-22 Igor Zelmanovich <igorz@mainsoft.com>
489 * MexInstanceContextProvider.cs - remove unused code.
491 2008-04-21 Roei Erez <roeie@mainsoft.com>
493 * ChannelDispatcher.cs - Change order of Dispatcher shutdown
495 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
497 * ChannelDispatcher.cs, EndpointDispatcher.cs: removed dependency on
498 ServiceDescription/ServiceEndpoint, allows usage of channel dispatcher
499 without endpoint was explicitly built
500 * EndpointDispatcher.cs: Filters lazy evaluation, refactored
501 communication processing, logic moved to channel dispatcher
503 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
505 * ActionMessageFilter.cs: fixed Match, match for "*" action
507 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
509 * DispatchOperation.cs: fixed ProcessRequest, fault message creation
511 2008-04-10 Eyal Alaluf <eyala@mainsoft.com>
513 * DefaultMessageOperationFormatter.cs: Moved to BaseMessagesFormatter.cs.
514 * BaseMessagesFormatter.cs: Refactored so typed messages uses the classes
515 defined here instead of the other way around.
516 Added support for by-ref and out parameters.
517 Added support for XmlSerializerFormat serializaters..
518 * DispatchOperation.cs, ClientOperation.cs: Use BaseMessagesFormatter.Create
520 2008-04-09 Roei Erez <roeie@mainsoft.com>
522 * Remove unused nethod from previous commit
524 2008-04-08 Roei Erez <roeie@mainsoft.com>
526 * ChannelDispatcher.cs
528 - Add support for Endpoints property
529 - Remove the hack of 'endpoint_dispatcher' field
530 * ChannelDispatcherCollection.cs
531 - Add support for 'Attach' 'Detach'
532 * EndpointDispatcher.cs
533 - By default create MatchAllMessageFilter.
535 2008-02-17 Atsushi Enomoto <atsushi@ximian.com>
537 * EndpointDispatcher.cs : we don't need AddressFilter workaround
538 from Feb. 14 anymore.
540 2008-02-17 Atsushi Enomoto <atsushi@ximian.com>
542 * EndpointDispatcher.cs : after service method call, apply outgoing
543 headers and properties to the returned message.
545 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
547 * ChannelDispatcher.cs : populate DispatchOperations before applying
548 IEndpointBehaviors so that those behaviors can modify dispatch
551 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
553 * DispatchOperation.cs : Action may be null. For such cases, use
554 MessageDirection to determine the message description.
556 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
558 * EndpointAddressMessageFilter.cs : implement Match(MessageBuffer).
559 Use ordinal string comparison.
560 * PrefixEndpointAddressMessageFilter.cs : implement Match() (both).
562 2008-02-14 Atsushi Enomoto <atsushi@ximian.com>
564 * EndpointDispatcher.cs : moved AddressFilter application only when
565 DispatchOperation was not selected (it is sort of workaround).
567 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
569 * DefaultMessageOperationFormatter.cs : Fixed SerializeReply() for
570 message contract type to process result, not the parameter.
572 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
574 * SingletonInstanceContextProvider.cs : new.
576 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
578 * DefaultMessageOperationFormatter.cs : dependent changes on
579 message serializer and deserializer.
581 2007-03-24 Atsushi Enomoto <atsushi@ximian.com>
583 * DefaultMessageOperationFormatter.cs :
584 use it for deserialization as well.
586 2007-03-24 Atsushi Enomoto <atsushi@ximian.com>
588 * DefaultMessageOperationFormatter.cs : consider message contracts
589 during message serialization/deserialization.
591 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
593 * EndpointDispatcher.cs : now dispatcher-side foundation for token
594 negotiation is ready. Handle negotiation message on its own way.
595 * DispatchOperation.cs : instead of returning irrelevant SOAP Fault,
596 simply raise an error and let FaultConverter do better work.
598 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
600 * EndpointDispatcher.cs : use ErrorHandlers when error was raised.
601 Handle exceptions to make into SOAP Fault, using FaultConverter.
602 * ChannelDispatcher.cs : simply get ServiceEndpoint at Attach().
603 * ChannelDispatcherBase.cs : removed MonoTODOs.
605 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
607 * ChannelDispatcher.cs, DispatchRuntime.cs, EndpointDispatcher.cs :
608 moved most of request/input processing to EndpointDispatcher.cs.
609 Also, ChannelDispatcher now contains code for behavior
612 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
614 * ChannelDispatcher.cs : some cosmetic refactoring on error handling
617 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
619 * ChannelDispatcher.cs, DispatchRuntime.cs, DispatchOperation.cs :
620 Support OperationContext and OperationContextScope with
621 ServiceRuntimeChannel as its .ctor() input.
623 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
625 * DispatchRuntime.cs : raise an error when the DispatchOperation
626 returned null Message.
628 2006-10-18 Ankit Jain <jankit@novell.com>
630 * MexInstanceContextProvider.cs (HttpGetInstanceContextProvider): New.
631 * DispatchOperation.cs (DoProcessRequest): InstanceContext returned by
632 the provider can be null.
633 * EndpointAddressMessageFilter.cs (Match): Handle IncludeHostNameInComparison.
635 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
637 * DispatchOperation.cs : slightly improved exception message.
639 2006-10-06 Ankit Jain <jankit@novell.com>
641 * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore):
642 ReceiveRequest can return null.
644 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
646 * ClientRuntime.cs : added MaxFaultSize.
648 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
650 * ChannelDispatcher.cs : don't reject anonymous and null To.
652 2006-10-04 Ankit Jain <jankit@novell.com>
654 * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore): Reply with a
655 Fault message if message's To doesn't match the endpoint.
656 (ListenerLoopManager.CreateDestinationUnreachable): New.
657 * IInstanceContextProvider.cs: New.
658 * MexInstanceContextProvider.cs: New. InstanceContextProvider for
660 (MetadataExchange): Implementation of IMetadataExchange.
661 * DispatchRuntime.cs (InstanceContextProvider): Add missing property.
662 * DispatchOperation.cs (DoProcessRequest): Use InstanceContextProvider
663 if available to obtain service instance.
664 * EndpointDispatcher.cs (.ctor): Set AddressFilter to EndpointAddressMessageFilter.
665 * EndpointAddressMessageFilter.cs (Match): Implement.
667 2006-10-03 Atsushi Enomoto <atsushi@ximian.com>
669 * ClientRuntime.cs : added InteractiveChannelInitializer.
671 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
673 * DispatchOperation.cs : removed extra comment.
675 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
677 * DispatchOperation.cs : workaround to send exception detail.
679 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
681 * ICallContextInitializer.cs : new file.
682 * DispatchOperation.cs : use above.
683 Not sure if it works correctly though.
685 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
687 * DispatchOperation.cs : when there is an error during
688 ProcessRequest(), wrap the exception with MessageFault and return
691 2006-08-10 Duncan Mak <duncan@novell.com>
693 * ExceptionHandler.cs: New file.
695 * ServiceThrottle.cs (MaxConnections): Renamed to
696 MaxConcurrentSessions.
697 (MaxInstances): Renamed to MaxConcurrentInstances.
699 2006-07-27 Atsushi Enomoto <atsushi@ximian.com>
701 * IInteractiveChannelInitializer.cs : new file.
703 2006-07-14 Atsushi Enomoto <atsushi@ximian.com>
705 * IErrorHandler.cs : API updates.
707 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
709 * DispatchRuntime.cs :
710 it was selecting UnhandledOperation unexpectedly.
711 * DispatchOperation.cs : added FIXME comment.
713 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
715 * DefaultMessageOperationFormatter.cs : Remove hack for non-
716 (de)serializing Message-based methods. They are now moved to
717 ClientBase and ServiceHostBase to explicitly set
718 [Serialize|Deserialize][Request|Reply].
720 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
722 * DefaultMessageOperationFormatter.cs : don't omit action on
723 SerializeRequest. Do it in SerializeReply.
725 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
727 * DefaultMessageOperationFormatter.cs : When addressing version is
728 None, then omit reply action. This logic is moved from MessageImpl.
730 2006-07-11 Atsushi Enomoto <atsushi@ximian.com>
732 * DefaultMessageOperationFormatter.cs :
733 return message, not parameter[0]. Removed some extra FIXMEs.
735 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
737 * DefaultMessageOperationFormatter.cs : when the parameter is
738 Message and the return type is Message, then do not use
741 2006-07-07 Atsushi Enomoto <atsushi@ximian.com>
743 * PrefixEndpointAddressMessageFilter.cs, FaultContractInfo.cs :
744 new types in June CTP.
745 * ISharedInstanceSessionLifetime.cs:
747 * ChannelDispatcher.cs, MatchAllMessageFilter.cs, DispatchRuntime.cs,
748 DispatchOperation.cs, ClientRuntime.cs, MatchNoneMessageFilter.cs,
749 ClientOperation.cs, ActionMessageFilterTable.cs,
750 EndpointAddressMessageFilterTable.cs :
751 several minor fixes for June CTP.
753 2006-07-06 Atsushi Enomoto <atsushi@ximian.com>
755 * DispatchOperation.cs : MessageFault.DefaultAction vanished.
757 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
759 * IClientFormatter.cs, IClientMessageFormatter.cs,
760 IDispatchFormatter.cs, IDispatchMessageFormatter.cs :
761 renamed former to latter, for each.
763 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
765 * ChannelDispatcher.cs, DispatchRuntime.cs :
766 IRequestContext -> RequestContext.
768 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
770 * ChannelDispatcher.cs, IDispatchFormatter.cs,
771 DefaultMessageOperationFormatter.cs, IClientFormatter.cs,
772 DispatchOperation.cs, ClientOperation.cs :
773 some June CTP updates.
775 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
777 * DefaultMessageOperationFormatter.cs : implement SerializeRequest()
778 and DeserializeReply(). Now simple ClientBase<T> sample is working.
780 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
782 * ClientOperation.cs : added GetFormatter() to support message
783 serialization/deserialization.
784 * DispatchOperation.cs : made some internal members private
785 (they are exposed extraneously). Commented out debugging code.
787 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
789 * DefaultMessageOperationFormatter.cs : In SerializeReply(), use
790 custom BodyWriter() and use MessagePartDescription names. Now
791 return value and other (ref/out) parameters could be equivalently
792 serialized (at this method; to support them more love is needed).
794 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
796 * DefaultMessageOperationFormatter.cs :
797 Action for response is null (though it is likely conditional).
799 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
801 * DefaultMessageOperationFormatter.cs :
802 true DeserializeReply implementation using Message.CreateMessage()
803 with DataContractSerializer (not complete though).
805 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
807 * ChannelDispatcher.cs, DispatchOperation.cs,
808 ChannelDispatcherBase.cs :
809 some updated API fixes.
811 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
813 * EndpointDispatcher.cs : moved from Sys.ServiceModel.
815 2006-04-20 Atsushi Enomoto <atsushi@ximian.com>
817 * ClientRuntime.cs : some minor collection instantiation and comments.
819 2006-04-07 Atsushi Enomoto <atsushi@ximian.com>
821 * DispatchOperation.cs : Implemented internal MessageVersion.
822 hacked instance provision by using Activator.CreateInstance.
823 * DefaultMessageOperationFormatter.cs : fixed DeserializeRequest to
824 be functional. Implemented SerializeReply.
826 2006-04-05 Atsushi Enomoto <atsushi@ximian.com>
828 * DispatchOperation.cs : return SOAP fault message for nonexistent
830 * DefaultMessageOperationFormatter.cs : implemented
831 DeserializeRequest(), though there is no working example.
833 2006-03-17 Atsushi Enomoto <atsushi@ximian.com>
835 * DispatchOperation.cs : implemented logic to acquire
836 OperationDescription. Added code for default IDispatchFormatter
838 * DispatchRuntime.cs : fix warning.
839 * DefaultMessageOperationFormatter.cs : new file, for default
840 IDispatchFormatter implementation (not done yet).
841 * ChannelDispatcher.cs : create EndpointDispatcher in Attach and
842 bind to this instance.
844 2006-03-16 Atsushi Enomoto <atsushi@ximian.com>
846 * ChannelDispatcherCollection.cs : added parameterless ctor().
847 * ChannelDispatcher.cs DispatchRuntime.cs DispatchOperation.cs :
848 Set some initial field values as proved in unit tests.
849 Request/input processing is still ongoing.
851 2006-03-13 Atsushi Enomoto <atsushi@ximian.com>
853 * ChannelDispatcher.cs
855 DispatchOperation.cs : added request/input processing code.
857 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
859 * ChannelDispatcher.cs : Get "AcceptChannel" method without ambiguity.
861 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
863 * ChannelDispatcher.cs : Added request-processing code.
865 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
867 * ChannelDispatcher.cs : implement Attach() and Detach() more to work.
869 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
871 * DispatchBehavior.cs :
872 Dependent fixes for System.IdentityModel reorgainzation.
874 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
876 * FilterNodeQuotaExceededException.cs
877 FilterInvalidBodyAccessException.cs DispatchBehavior.cs
878 DispatchOperation.cs NavigatorInvalidBodyAccessException.cs
879 MatchNoneFilter.cs ActionFilter.cs
880 MultipleFilterMatchesException.cs Filter.cs
881 IInstanceContextInitializer.cs XPathFilter.cs
882 IDispatchOperationSelector.cs MatchAllFilter.cs
883 ActionFilterTable.cs EndpointAddressFilter.cs FilterTable.cs
884 EndpointFilterTable.cs XPathMessageContext.cs
885 IEndpointDispatcher.cs ProxyBehavior.cs
886 ProxyOperation.cs XPathFilterTable.cs
887 EndpointAddressFilterTable.cs InvalidBodyAccessException.cs
888 IFilterTable.cs IOperationInvoker.cs :
889 moved from System.ServiceModel due to the API changes.