New tests.
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.Dispatcher / ChangeLog
1 2010-04-20  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * OperationInvokerHandler.cs : workaround NRE issue in AsyncCallTest.
4           The original code was worse than this workaround.
5
6 2010-04-05  Atsushi Enomoto  <atsushi@ximian.com>
7
8         * EndpointAddressMessageFilter.cs : check null arg. Return false for
9           no To header case and do not result in NRE.f
10
11 2010-04-05  Atsushi Enomoto  <atsushi@ximian.com>
12
13         * BaseMessagesFormatter.cs : hasParameter check is incorrectly
14           restrictive to reject some kinds of pairs.
15
16 2010-04-02  Atsushi Enomoto  <atsushi@ximian.com>
17
18         * FaultContractInfo.cs : add serializer property.
19
20 2010-04-02  Atsushi Enomoto  <atsushi@ximian.com>
21
22         * ClientOperation.cs : do not automatically fill FaultContractInfos.
23
24 2010-04-02  Atsushi Enomoto  <atsushi@ximian.com>
25
26         * OperationInvokerHandler.cs : implement FaultContractInfos support.
27         * ErrorProcessingHandler.cs : update comment. It is not relevant.
28
29 2010-04-02  Atsushi Enomoto  <atsushi@ximian.com>
30
31         * EndpointDispatcher.cs : fill FaultContractInfos.
32         * DispatchOperation.cs : do not fill them dynamically/automatically.
33         * ErrorProcessingHandler.cs : added some FIXME notes.
34
35 2010-03-30  Atsushi Enomoto  <atsushi@ximian.com>
36
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.
42
43           (RunDestinationUnreachableTest() is still not working but it works
44           when it is SOAP 1.2.)
45
46 2010-03-30  Atsushi Enomoto  <atsushi@ximian.com>
47
48         * ChannelDispatcher.cs : for faults, use fault namespace, not that of
49           ReplyAction. Added FIXME comment regarding dispatcher.
50
51 2010-03-25  Atsushi Enomoto  <atsushi@ximian.com>
52
53         * OperationInvokerHandler.cs : removed unused code.
54
55 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
56
57         * ChannelDispatcher.cs : return EndpointDispatcher at initializing
58           for internal use. Add some locks. Patch by Matt Dargavel.
59
60 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
61
62         * ChannelDispatcher.cs : fix wrong method call in open_delegate.
63           Patch by Matt Dargavel.
64
65 2010-03-24  Atsushi Enomoto  <atsushi@ximian.com>
66
67         * ChannelDispatcher.cs : give the actual exception message instead
68           of "error occured".
69
70 2010-03-18  Atsushi Enomoto  <atsushi@ximian.com>
71
72         * XPathMessageContext.cs : implement.
73         * XPathMessageFilterTable.cs : add some missing overloads.
74
75 2010-02-26  Atsushi Enomoto  <atsushi@ximian.com>
76
77         * InputOrReplyRequestProcessor.cs : now ServiceRuntimeChannel is
78           moved to fake public namespace.
79
80 2010-02-18  Atsushi Enomoto  <atsushi@ximian.com>
81
82         * ChannelDispatcher.cs : revert previous change - it could result
83           in blocking some threads and block nunit completion.
84
85 2010-02-04  Atsushi Enomoto  <atsushi@ximian.com>
86
87         * ChannelDispatcher.cs : now I can enable service throttling to
88           handle more than one concurrent channels as ASP.NET reply channel
89           got fixed.
90
91 2010-01-25  Atsushi Enomoto  <atsushi@ximian.com>
92
93         * ChannelDispatcher.cs : actually instance context provider could be
94           null through the entire service run.
95
96           Fixed all current nunit failures!
97
98 2010-01-22  Atsushi Enomoto  <atsushi@ximian.com>
99
100         * ChannelDispatcher.cs : do not try to iterate channel acceptor when
101           it is being closed.
102
103 2010-01-19  Atsushi Enomoto  <atsushi@ximian.com>
104
105         * ChannelDispatcher.cs : another error audit.
106
107 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
108
109         * FaultContractInfo.cs : implement.
110         * DispatchOperation.cs, ClientOperation.cs: fill Faults.
111
112 2010-01-08  Atsushi Enomoto  <atsushi@ximian.com>
113
114         * EndpointDispatcher.cs, InputOrReplyRequestProcessor.cs :
115           Pass service type to correctly retrieve ServiceContractAttribute
116           from the service type, not callback type.
117
118 2010-01-07  Atsushi Enomoto  <atsushi@ximian.com>
119
120         * ChannelDispatcher.cs : make sure to unlock channel acceptor wait
121           handle when the delegated method resulted in an error.
122
123 2009-12-26  Atsushi Enomoto  <atsushi@ximian.com>
124
125         * ChannelDispatcher.cs : close such channels that failed to receive
126           request or input.
127
128 2009-12-26  Atsushi Enomoto  <atsushi@ximian.com>
129
130         * DispatchRuntime.cs : shortened code and scattered monotodos.
131
132 2009-12-10  Atsushi Enomoto  <atsushi@ximian.com>
133
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.
138
139 2009-12-07  Atsushi Enomoto  <atsushi@ximian.com>
140
141         * ChannelDispatcher.cs : fix regression; ServiceBehaviorAttribute
142           could be set explicitly null.
143
144 2009-12-07  Atsushi Enomoto  <atsushi@ximian.com>
145
146         * ChannelDispatcher.cs : handle AddressFilterMode (.Any only yet).
147         * OperationInvokerHandler.cs : fix wrong IAsyncResult use.
148
149 2009-12-07  Atsushi Enomoto  <atsushi@ximian.com>
150
151         * InstanceBehavior.cs : allow nonpublic instance.
152         * DefaultOperationInvoker.cs : do use IsSynchronous correctly.
153
154 2009-10-22  Atsushi Enomoto  <atsushi@ximian.com>
155
156         * ChannelDispatcher.cs : disable concurrent channel acceptance
157           until it gets working fine.
158
159 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
160
161         * ChannelDispatcher.cs : fix warnings.
162
163 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
164
165         * ClientOperation.cs, ClientRuntime.cs : another couple of changes
166           are required to not use non-SL types.
167
168 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
169
170         * ClientRuntime.cs : enable Operations property on monotouch.
171           Hopefully it will enable us to build WebHttpBinding.
172
173 2009-10-09  Atsushi Enomoto  <atsushi@ximian.com>
174
175          * ChannelDispatcher.cs : OnOpened/OnOpening constraints related
176            changes were required here too. Actually it simplified code.
177
178 2009-10-06  Atsushi Enomoto  <atsushi@ximian.com>
179
180         * OperationInvokerHandler.cs : a bit more explaining message.
181
182 2009-10-05  Atsushi Enomoto  <atsushi@ximian.com>
183
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.
187
188 2009-09-17  Atsushi Enomoto  <atsushi@ximian.com>
189
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.
195
196 2009-09-17  Atsushi Enomoto  <atsushi@ximian.com>
197
198         * OperationInvokerHandler.cs : make error message a bit verbose.
199
200 2009-09-16  Atsushi Enomoto  <atsushi@ximian.com>
201
202         * ChannelDispatcher.cs : make sure to close the request context,
203           some channels such as http keeps opening it. Patch by Levi Bard.
204           Fixed bug #533776.
205
206 2009-09-14  Atsushi Enomoto  <atsushi@ximian.com>
207
208         * ChannelDispatcher.cs : do not try to wait for channel closer
209           handle when the loop is not started yet. This fixes lengthy wait
210           in the nunit tests.
211
212 2009-09-11  Atsushi Enomoto  <atsushi@ximian.com>
213
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).
220
221 2009-09-11  Atsushi Enomoto  <atsushi@ximian.com>
222
223         * BaseMessagesFormatter.cs, DefaultOperationInvoker.cs:
224           Fix the crash that ref parameter in contract methods caused.
225
226 2009-09-04  Atsushi Enomoto  <atsushi@ximian.com>
227
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.
237
238 2009-09-04  Atsushi Enomoto  <atsushi@ximian.com>
239
240         * ChannelDispatcher.cs : remove obsoleted method.
241
242 2009-09-02  Atsushi Enomoto  <atsushi@ximian.com>
243
244         * BaseMessagesFormatter.cs :
245           implement XmlBodyWriter.OnCreateBufferedCopy().
246
247 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
248
249         * CallbackInstanceContextProvider.cs : new instance context provider
250           used by duplex client dispatcher.
251
252 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
253
254         * SecurityHandler.cs : skip callback duplex blocker.
255
256 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
257
258         * EndpointDispatcher.cs, ChannelDispatcher.cs : differentiate
259           service dispatch and callback client dispatch at initialization.
260
261 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
262
263         * ChannelDispatcher.cs : also made reference to host optional.
264
265 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
266
267         * ChannelDispatcher.cs : isolated loop manager class from parent,
268           as well as moved some code from parent.
269
270 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
271
272         * ChannelDispatcherCollection.cs : remove extra members.
273
274 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
275
276         * ChannelDispatcher.cs, EndpointDispatcher.cs :
277           moved some initialization code from ServiceHostBase, to start
278           reducing dependencies on ServiceHostBase.
279
280 2009-08-20  Atsushi Enomoto  <atsushi@ximian.com>
281
282         * ChannelDispatcher.cs : handle unknown message in host event.
283
284 2009-08-17  Atsushi Enomoto  <atsushi@ximian.com>
285
286         * EndpointDispatcher.cs : do not try to create wrong filter.
287
288 2009-08-14  Atsushi Enomoto  <atsushi@ximian.com>
289
290         * ChannelDispatcher.cs : EndpointNotFoundException message could
291           be a bit kindful.
292
293 2009-08-11  Atsushi Enomoto  <atsushi@ximian.com>
294
295         * IOperationInvoker.cs : fix interface.
296         * DefaultOperationInvoker.cs : refresh implementation of the above.
297         * BaseMessagesFormatter.cs, OperationInvokerHandler.cs :
298           dependent changes for above.
299
300 2009-08-07  Atsushi Enomoto  <atsushi@ximian.com>
301
302         * InputOrReplyRequestProcessor.cs : now it could return an instance
303           of dynamically generated proxy over DuplexServiceRuntimeChannel.
304
305 2009-08-07  Atsushi Enomoto  <atsushi@ximian.com>
306
307         * ClientRuntime.cs : oops, it should have been committed at a time.
308           Change .ctor() args. Make some properties auto.
309
310 2009-08-07  Atsushi Enomoto  <atsushi@ximian.com>
311
312         * DispatchRuntime.cs : callback runtime is set later.
313
314 2009-08-06  Atsushi Enomoto  <atsushi@ximian.com>
315
316         * ClientRuntime.cs :
317           .ctor() just needs contract. Fill some properties.
318
319 2009-08-04  Atsushi Enomoto  <atsushi@ximian.com>
320
321         * ReplyHandler.cs : there is better way to check IsOneWay.
322
323 2009-08-04  Atsushi Enomoto  <atsushi@ximian.com>
324
325         * OperationInvokerHandler.cs : One way operation has no reply.
326         * ReplyHandler.cs : ditto.
327
328 2009-07-31  Atsushi Enomoto  <atsushi@ximian.com>
329
330         * ChannelDispatcher.cs : raise error on multiple endpoint match
331           (documented at EndpointDispatcher.FilterPriority).
332
333 2009-07-28  Atsushi Enomoto  <atsushi@ximian.com>
334
335         * ChannelDispatcher.cs : move Open() inside acceptor lock, so that
336           the channel does not have to be fired Receive() before Open().
337
338 2009-07-14  Atsushi Enomoto  <atsushi@ximian.com>
339
340         * DispatchRuntime.cs : add ValidateMustUnderstand.
341         * DispatchOperation.cs : add AutoDisposeParameters.
342
343 2009-07-02  Atsushi Enomoto  <atsushi@ximian.com>
344
345         * ChannelDispatcher.cs : when service instance is provided to the
346           ServiceHost, do not reject Type-less state.
347
348 2009-06-29  Atsushi Enomoto  <atsushi@ximian.com>
349
350         * ChannelDispatcher.cs : do not iterate extra channel acceptance
351           and hence close channels a bit more gracefully.
352
353 2009-06-25  Atsushi Enomoto  <atsushi@ximian.com>
354
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).
358
359 2009-06-25  Atsushi Enomoto  <atsushi@ximian.com>
360
361         * SessionInstanceContextProvider.cs : new instance context provider.
362
363 2009-06-23  Atsushi Enomoto  <atsushi@ximian.com>
364
365         * DispatchRuntime.cs : do not fill InstanceContextProvider here.
366         * ChannelDispatcher.cs : do it here instead.
367         * ChannelDispatcherCollection.cs : remove TODOs.
368
369 2009-06-23  Atsushi Enomoto  <atsushi@ximian.com>
370
371         * InputOrReplyRequestProcessor.cs : bogus initialization.
372
373 2009-06-18  Atsushi Enomoto  <atsushi@ximian.com>
374
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
381             one channel).
382           - Support ReceiveSynchronously and use Begin/EndAcceptChannel()
383             for async pattern.
384           - Close all channels and the listener when it is closed.
385           - Cosmetic simplification on channel acceptor delegate creation.
386
387 2009-06-09  Atsushi Enomoto  <atsushi@ximian.com>
388
389         * ChannelDispatcher.cs : avoid NRE (actually it should eliminate
390           Thread.Abort()). Added some comments on throttling.
391
392 2009-06-09  Atsushi Enomoto  <atsushi@ximian.com>
393
394         * ServiceThrottle.cs : implement.
395
396 2009-06-08  Atsushi Enomoto  <atsushi@ximian.com>
397
398         * ChannelDispatcher.cs :
399           Add call to base (see CommunicationObject change).
400
401 2009-06-01  Atsushi Enomoto  <atsushi@ximian.com>
402
403         * ChannelDispatcher.cs : handle more errors gracefully.
404
405 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
406
407         * ErrorProcessingHandler.cs, InputOrReplyRequestProcessor.cs :
408           they also premise request-reply channel and broke duplex channels.
409
410 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
411
412         * ChannelDispatcher.cs : open channel before using it.
413
414 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
415
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
420           ReplyHandler so far.
421
422 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
423
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).
429
430 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
431
432         * ChannelDispatcher.cs : wrong channel argument.
433
434 2009-04-27  Atsushi Enomoto  <atsushi@ximian.com>
435
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().
441
442 2009-04-23  Atsushi Enomoto  <atsushi@ximian.com>
443
444         * DispatchOperation.cs : implement GetFormatter() at service side too.
445
446 2009-04-01  Atsushi Enomoto  <atsushi@ximian.com>
447
448         * OperationInvokeHandler.cs : replace MS copycat exception message.
449
450 2009-02-26  Atsushi Enomoto  <atsushi@ximian.com>
451
452         * ClientRuntime.cs : fill contractType in .ctor().
453
454 2009-02-04  Atsushi Enomoto  <atsushi@ximian.com>
455
456         * BaseMessagesFormatter.cs : do not use non-2.1 CreateInstance().
457
458 2008-06-18  Noam Lampert <noaml@mainsoft.com>
459
460         * ChannelDispatcher.cs: Avoid aborting host process on faulty input message.
461
462 2008-05-22  Noam Lampert <noaml@mainsoft.com>
463
464         * OperationInvokeHandler.cs: Only return fault reply when TargetInvocation occured (not other internal
465           errors. Serlialize the correct (inner) exception.
466           
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.
474
475 2008-05-01  Eyal Alaluf <eyala@mainsoft.com>
476
477         * BaseMessagesFormatter.cs: Handle methods with out parameters that return
478           void.
479         * DispatchOperation.cs, IOperationInvoker.cs: Simplify method invocation.
480
481 2008-04-22  Igor Zelmanovich <igorz@mainsoft.com>
482
483         * DispatchOperation.cs: removed dependency on OperationDescription, 
484         allows usage of custom channel dispatcher without endpoint was explicitly 
485         built
486
487 2008-04-22  Igor Zelmanovich <igorz@mainsoft.com>
488
489         * MexInstanceContextProvider.cs - remove unused code.
490
491 2008-04-21  Roei Erez <roeie@mainsoft.com>
492
493         * ChannelDispatcher.cs - Change order of Dispatcher shutdown
494
495 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
496
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
502
503 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
504
505         * ActionMessageFilter.cs: fixed Match, match for "*" action
506
507 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
508
509         * DispatchOperation.cs: fixed ProcessRequest, fault message creation
510
511 2008-04-10  Eyal Alaluf <eyala@mainsoft.com>
512
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
519
520 2008-04-09  Roei Erez <roeie@mainsoft.com>
521
522         * Remove unused nethod from previous commit
523
524 2008-04-08  Roei Erez <roeie@mainsoft.com>
525
526         * ChannelDispatcher.cs
527           - fix 'Attach' logic
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.
534
535 2008-02-17  Atsushi Enomoto  <atsushi@ximian.com>
536
537         * EndpointDispatcher.cs : we don't need AddressFilter workaround
538           from Feb. 14 anymore.
539
540 2008-02-17  Atsushi Enomoto  <atsushi@ximian.com>
541
542         * EndpointDispatcher.cs : after service method call, apply outgoing
543           headers and properties to the returned message.
544
545 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
546
547         * ChannelDispatcher.cs : populate DispatchOperations before applying
548           IEndpointBehaviors so that those behaviors can modify dispatch
549           operations.
550
551 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
552
553         * DispatchOperation.cs : Action may be null. For such cases, use 
554           MessageDirection to determine the message description.
555
556 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
557
558         * EndpointAddressMessageFilter.cs : implement Match(MessageBuffer).
559           Use ordinal string comparison.
560         * PrefixEndpointAddressMessageFilter.cs : implement Match() (both).
561
562 2008-02-14  Atsushi Enomoto  <atsushi@ximian.com>
563
564         * EndpointDispatcher.cs : moved AddressFilter application only when
565           DispatchOperation was not selected (it is sort of workaround).
566
567 2007-08-19  Atsushi Enomoto  <atsushi@ximian.com>
568
569         * DefaultMessageOperationFormatter.cs : Fixed SerializeReply() for
570           message contract type to process result, not the parameter.
571
572 2007-08-19  Atsushi Enomoto  <atsushi@ximian.com>
573
574         * SingletonInstanceContextProvider.cs : new.
575
576 2007-08-17  Atsushi Enomoto  <atsushi@ximian.com>
577
578         * DefaultMessageOperationFormatter.cs : dependent changes on
579           message serializer and deserializer.
580
581 2007-03-24  Atsushi Enomoto  <atsushi@ximian.com>
582
583         * DefaultMessageOperationFormatter.cs :
584           use it for deserialization as well.
585
586 2007-03-24  Atsushi Enomoto  <atsushi@ximian.com>
587
588         * DefaultMessageOperationFormatter.cs : consider message contracts
589           during message serialization/deserialization.
590
591 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
592
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.
597
598 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
599
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.
604
605 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
606
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
610           initialization.
611
612 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
613
614         * ChannelDispatcher.cs : some cosmetic refactoring on error handling
615           with comments.
616
617 2006-12-14  Atsushi Enomoto  <atsushi@ximian.com>
618
619         * ChannelDispatcher.cs, DispatchRuntime.cs, DispatchOperation.cs :
620           Support OperationContext and OperationContextScope with
621           ServiceRuntimeChannel as its .ctor() input.
622
623 2006-12-14  Atsushi Enomoto  <atsushi@ximian.com>
624
625         * DispatchRuntime.cs : raise an error when the DispatchOperation
626           returned null Message.
627
628 2006-10-18  Ankit Jain  <jankit@novell.com>
629
630         * MexInstanceContextProvider.cs (HttpGetInstanceContextProvider): New.
631         * DispatchOperation.cs (DoProcessRequest): InstanceContext returned by
632         the provider can be null.
633         * EndpointAddressMessageFilter.cs (Match): Handle IncludeHostNameInComparison.
634
635 2006-10-12  Atsushi Enomoto  <atsushi@ximian.com>
636
637         * DispatchOperation.cs : slightly improved exception message.
638
639 2006-10-06  Ankit Jain  <jankit@novell.com>
640
641         * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore):
642         ReceiveRequest can return null.
643
644 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
645
646         * ClientRuntime.cs : added MaxFaultSize.
647
648 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
649
650         * ChannelDispatcher.cs : don't reject anonymous and null To.
651
652 2006-10-04  Ankit Jain  <jankit@novell.com>
653
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
659         MetadataExchange.
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.
666
667 2006-10-03  Atsushi Enomoto  <atsushi@ximian.com>
668
669         * ClientRuntime.cs : added InteractiveChannelInitializer.
670
671 2006-09-12  Atsushi Enomoto  <atsushi@ximian.com>
672
673         * DispatchOperation.cs : removed extra comment.
674
675 2006-09-08  Atsushi Enomoto  <atsushi@ximian.com>
676
677         * DispatchOperation.cs : workaround to send exception detail.
678
679 2006-09-06  Atsushi Enomoto  <atsushi@ximian.com>
680
681         * ICallContextInitializer.cs : new file.
682         * DispatchOperation.cs : use above.
683           Not sure if it works correctly though.
684
685 2006-08-28  Atsushi Enomoto  <atsushi@ximian.com>
686
687         * DispatchOperation.cs : when there is an error during
688           ProcessRequest(), wrap the exception with MessageFault and return
689           a fault message.
690
691 2006-08-10  Duncan Mak  <duncan@novell.com>
692
693         * ExceptionHandler.cs: New file.
694
695         * ServiceThrottle.cs (MaxConnections): Renamed to
696         MaxConcurrentSessions.
697         (MaxInstances): Renamed to MaxConcurrentInstances.
698
699 2006-07-27  Atsushi Enomoto  <atsushi@ximian.com>
700
701         * IInteractiveChannelInitializer.cs : new file.
702
703 2006-07-14  Atsushi Enomoto  <atsushi@ximian.com>
704
705         * IErrorHandler.cs : API updates.
706
707 2006-07-13  Atsushi Enomoto  <atsushi@ximian.com>
708
709         * DispatchRuntime.cs :
710           it was selecting UnhandledOperation unexpectedly.
711         * DispatchOperation.cs : added FIXME comment.
712
713 2006-07-13  Atsushi Enomoto  <atsushi@ximian.com>
714
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].
719
720 2006-07-12  Atsushi Enomoto  <atsushi@ximian.com>
721
722         * DefaultMessageOperationFormatter.cs : don't omit action on
723           SerializeRequest. Do it in SerializeReply.
724
725 2006-07-12  Atsushi Enomoto  <atsushi@ximian.com>
726
727         * DefaultMessageOperationFormatter.cs : When addressing version is
728           None, then omit reply action. This logic is moved from MessageImpl.
729
730 2006-07-11  Atsushi Enomoto  <atsushi@ximian.com>
731
732         * DefaultMessageOperationFormatter.cs :
733           return message, not parameter[0]. Removed some extra FIXMEs.
734
735 2006-07-10  Atsushi Enomoto  <atsushi@ximian.com>
736
737         * DefaultMessageOperationFormatter.cs : when the parameter is
738           Message and the return type is Message, then do not use
739           XmlObjectSerializer.
740
741 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
742
743         * PrefixEndpointAddressMessageFilter.cs, FaultContractInfo.cs :
744           new types in June CTP.
745         * ISharedInstanceSessionLifetime.cs:
746           removed in June CTP.
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.
752
753 2006-07-06  Atsushi Enomoto  <atsushi@ximian.com>
754
755         * DispatchOperation.cs : MessageFault.DefaultAction vanished.
756
757 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
758
759         * IClientFormatter.cs, IClientMessageFormatter.cs,
760           IDispatchFormatter.cs, IDispatchMessageFormatter.cs :
761           renamed former to latter, for each.
762
763 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
764
765         * ChannelDispatcher.cs, DispatchRuntime.cs :
766           IRequestContext -> RequestContext.
767
768 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
769
770         * ChannelDispatcher.cs, IDispatchFormatter.cs,
771           DefaultMessageOperationFormatter.cs, IClientFormatter.cs,
772           DispatchOperation.cs, ClientOperation.cs :
773           some June CTP updates.
774
775 2006-06-22  Atsushi Enomoto  <atsushi@ximian.com>
776
777         * DefaultMessageOperationFormatter.cs : implement SerializeRequest()
778           and DeserializeReply(). Now simple ClientBase<T> sample is working.
779
780 2006-06-22  Atsushi Enomoto  <atsushi@ximian.com>
781
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.
786
787 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
788
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).
793
794 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
795
796         * DefaultMessageOperationFormatter.cs :
797           Action for response is null (though it is likely conditional).
798
799 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
800
801         * DefaultMessageOperationFormatter.cs :
802           true DeserializeReply implementation using Message.CreateMessage()
803           with DataContractSerializer (not complete though).
804
805 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
806
807         * ChannelDispatcher.cs, DispatchOperation.cs,
808           ChannelDispatcherBase.cs :
809           some updated API fixes.
810
811 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
812
813         * EndpointDispatcher.cs : moved from Sys.ServiceModel.
814
815 2006-04-20  Atsushi Enomoto  <atsushi@ximian.com>
816
817         * ClientRuntime.cs : some minor collection instantiation and comments.
818
819 2006-04-07  Atsushi Enomoto  <atsushi@ximian.com>
820
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.
825
826 2006-04-05  Atsushi Enomoto  <atsushi@ximian.com>
827
828         * DispatchOperation.cs : return SOAP fault message for nonexistent
829           request Action.
830         * DefaultMessageOperationFormatter.cs : implemented
831           DeserializeRequest(), though there is no working example.
832
833 2006-03-17  Atsushi Enomoto  <atsushi@ximian.com>
834
835         * DispatchOperation.cs : implemented logic to acquire
836           OperationDescription. Added code for default IDispatchFormatter
837           implementation.
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.
843
844 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
845
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.
850
851 2006-03-13  Atsushi Enomoto  <atsushi@ximian.com>
852
853         * ChannelDispatcher.cs
854           DispatchRuntime.cs
855           DispatchOperation.cs : added request/input processing code.
856
857 2006-03-07  Atsushi Enomoto  <atsushi@ximian.com>
858
859         * ChannelDispatcher.cs : Get "AcceptChannel" method without ambiguity.
860
861 2006-03-07  Atsushi Enomoto  <atsushi@ximian.com>
862
863         * ChannelDispatcher.cs : Added request-processing code.
864
865 2006-03-06  Atsushi Enomoto  <atsushi@ximian.com>
866
867         * ChannelDispatcher.cs : implement Attach() and Detach() more to work.
868
869 2006-02-23  Atsushi Enomoto  <atsushi@ximian.com>
870
871         * DispatchBehavior.cs : 
872           Dependent fixes for System.IdentityModel reorgainzation.
873
874 2006-02-23  Atsushi Enomoto  <atsushi@ximian.com>
875
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.