Wed Feb 24 15:47:16 CET 2010 Paolo Molaro <lupus@ximian.com>
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.Dispatcher / ChangeLog
1 2010-02-18  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * ChannelDispatcher.cs : revert previous change - it could result
4           in blocking some threads and block nunit completion.
5
6 2010-02-04  Atsushi Enomoto  <atsushi@ximian.com>
7
8         * ChannelDispatcher.cs : now I can enable service throttling to
9           handle more than one concurrent channels as ASP.NET reply channel
10           got fixed.
11
12 2010-01-25  Atsushi Enomoto  <atsushi@ximian.com>
13
14         * ChannelDispatcher.cs : actually instance context provider could be
15           null through the entire service run.
16
17           Fixed all current nunit failures!
18
19 2010-01-22  Atsushi Enomoto  <atsushi@ximian.com>
20
21         * ChannelDispatcher.cs : do not try to iterate channel acceptor when
22           it is being closed.
23
24 2010-01-19  Atsushi Enomoto  <atsushi@ximian.com>
25
26         * ChannelDispatcher.cs : another error audit.
27
28 2010-01-13  Atsushi Enomoto  <atsushi@ximian.com>
29
30         * FaultContractInfo.cs : implement.
31         * DispatchOperation.cs, ClientOperation.cs: fill Faults.
32
33 2010-01-08  Atsushi Enomoto  <atsushi@ximian.com>
34
35         * EndpointDispatcher.cs, InputOrReplyRequestProcessor.cs :
36           Pass service type to correctly retrieve ServiceContractAttribute
37           from the service type, not callback type.
38
39 2010-01-07  Atsushi Enomoto  <atsushi@ximian.com>
40
41         * ChannelDispatcher.cs : make sure to unlock channel acceptor wait
42           handle when the delegated method resulted in an error.
43
44 2009-12-26  Atsushi Enomoto  <atsushi@ximian.com>
45
46         * ChannelDispatcher.cs : close such channels that failed to receive
47           request or input.
48
49 2009-12-26  Atsushi Enomoto  <atsushi@ximian.com>
50
51         * DispatchRuntime.cs : shortened code and scattered monotodos.
52
53 2009-12-10  Atsushi Enomoto  <atsushi@ximian.com>
54
55         * OperationInvokerHandler.cs : fix async operation handling. Since
56           the entire handler chain is designed to be in synchronous, one
57           single handler must not leave its work incomplete (async). Just
58           wait for the async process completion within the handler.
59
60 2009-12-07  Atsushi Enomoto  <atsushi@ximian.com>
61
62         * ChannelDispatcher.cs : fix regression; ServiceBehaviorAttribute
63           could be set explicitly null.
64
65 2009-12-07  Atsushi Enomoto  <atsushi@ximian.com>
66
67         * ChannelDispatcher.cs : handle AddressFilterMode (.Any only yet).
68         * OperationInvokerHandler.cs : fix wrong IAsyncResult use.
69
70 2009-12-07  Atsushi Enomoto  <atsushi@ximian.com>
71
72         * InstanceBehavior.cs : allow nonpublic instance.
73         * DefaultOperationInvoker.cs : do use IsSynchronous correctly.
74
75 2009-10-22  Atsushi Enomoto  <atsushi@ximian.com>
76
77         * ChannelDispatcher.cs : disable concurrent channel acceptance
78           until it gets working fine.
79
80 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
81
82         * ChannelDispatcher.cs : fix warnings.
83
84 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
85
86         * ClientOperation.cs, ClientRuntime.cs : another couple of changes
87           are required to not use non-SL types.
88
89 2009-10-16  Atsushi Enomoto  <atsushi@ximian.com>
90
91         * ClientRuntime.cs : enable Operations property on monotouch.
92           Hopefully it will enable us to build WebHttpBinding.
93
94 2009-10-09  Atsushi Enomoto  <atsushi@ximian.com>
95
96          * ChannelDispatcher.cs : OnOpened/OnOpening constraints related
97            changes were required here too. Actually it simplified code.
98
99 2009-10-06  Atsushi Enomoto  <atsushi@ximian.com>
100
101         * OperationInvokerHandler.cs : a bit more explaining message.
102
103 2009-10-05  Atsushi Enomoto  <atsushi@ximian.com>
104
105         * ChannelDispatcher.cs : make sure to close, *and* abort channels
106           in case they failed to close. Also consider close timeouts.
107           Rename a field to make less confusing.
108
109 2009-09-17  Atsushi Enomoto  <atsushi@ximian.com>
110
111         * ChannelDispatcher.cs, EndpointDispatcher.cs :
112           when an EndpointDispatcher is added to ChannelDispatcher, its
113           ChannelDispatcher property is automatically filled. To do this,
114           create a derived collection type for Endpoints (that's what .NET
115           does). Remove extra InitializeEndpoint() argument.
116
117 2009-09-17  Atsushi Enomoto  <atsushi@ximian.com>
118
119         * OperationInvokerHandler.cs : make error message a bit verbose.
120
121 2009-09-16  Atsushi Enomoto  <atsushi@ximian.com>
122
123         * ChannelDispatcher.cs : make sure to close the request context,
124           some channels such as http keeps opening it. Patch by Levi Bard.
125           Fixed bug #533776.
126
127 2009-09-14  Atsushi Enomoto  <atsushi@ximian.com>
128
129         * ChannelDispatcher.cs : do not try to wait for channel closer
130           handle when the loop is not started yet. This fixes lengthy wait
131           in the nunit tests.
132
133 2009-09-11  Atsushi Enomoto  <atsushi@ximian.com>
134
135         * EndpointDispatcher.cs : AddressFilter is always non-null.
136         * DispatchRuntime.cs : CallbackClientRuntime seems to be created even
137           for non-callback dispatchers. Fixing this also results in fixes in
138           couple of nunit regressions.
139         * InputOrReplyRequestProcessor.cs : the change above required fix
140           here too (it has null check).
141
142 2009-09-11  Atsushi Enomoto  <atsushi@ximian.com>
143
144         * BaseMessagesFormatter.cs, DefaultOperationInvoker.cs:
145           Fix the crash that ref parameter in contract methods caused.
146
147 2009-09-04  Atsushi Enomoto  <atsushi@ximian.com>
148
149         * OperationInvokerHandler.cs, ReplyHandler.cs :
150           - Eliminate ReplyHandler use. What is does is simple reply, while
151             it brings inconsistency between sync and async models.
152             What reply handler used to do are now integrated.
153           - Support ErrorHandlers and InputSessionShutdownHandlers.
154             Actually ErrorHandlers were processed at wrong place and they
155             weren't called where they are expected.
156         * InputOrReplyRequestProcessor.cs : hence eliminated ReplyHandler.
157         * BaseRequestProcessor.cs : add FIXME notes on ErrorHandlers.
158
159 2009-09-04  Atsushi Enomoto  <atsushi@ximian.com>
160
161         * ChannelDispatcher.cs : remove obsoleted method.
162
163 2009-09-02  Atsushi Enomoto  <atsushi@ximian.com>
164
165         * BaseMessagesFormatter.cs :
166           implement XmlBodyWriter.OnCreateBufferedCopy().
167
168 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
169
170         * CallbackInstanceContextProvider.cs : new instance context provider
171           used by duplex client dispatcher.
172
173 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
174
175         * SecurityHandler.cs : skip callback duplex blocker.
176
177 2009-08-24  Atsushi Enomoto  <atsushi@ximian.com>
178
179         * EndpointDispatcher.cs, ChannelDispatcher.cs : differentiate
180           service dispatch and callback client dispatch at initialization.
181
182 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
183
184         * ChannelDispatcher.cs : also made reference to host optional.
185
186 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
187
188         * ChannelDispatcher.cs : isolated loop manager class from parent,
189           as well as moved some code from parent.
190
191 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
192
193         * ChannelDispatcherCollection.cs : remove extra members.
194
195 2009-08-21  Atsushi Enomoto  <atsushi@ximian.com>
196
197         * ChannelDispatcher.cs, EndpointDispatcher.cs :
198           moved some initialization code from ServiceHostBase, to start
199           reducing dependencies on ServiceHostBase.
200
201 2009-08-20  Atsushi Enomoto  <atsushi@ximian.com>
202
203         * ChannelDispatcher.cs : handle unknown message in host event.
204
205 2009-08-17  Atsushi Enomoto  <atsushi@ximian.com>
206
207         * EndpointDispatcher.cs : do not try to create wrong filter.
208
209 2009-08-14  Atsushi Enomoto  <atsushi@ximian.com>
210
211         * ChannelDispatcher.cs : EndpointNotFoundException message could
212           be a bit kindful.
213
214 2009-08-11  Atsushi Enomoto  <atsushi@ximian.com>
215
216         * IOperationInvoker.cs : fix interface.
217         * DefaultOperationInvoker.cs : refresh implementation of the above.
218         * BaseMessagesFormatter.cs, OperationInvokerHandler.cs :
219           dependent changes for above.
220
221 2009-08-07  Atsushi Enomoto  <atsushi@ximian.com>
222
223         * InputOrReplyRequestProcessor.cs : now it could return an instance
224           of dynamically generated proxy over DuplexServiceRuntimeChannel.
225
226 2009-08-07  Atsushi Enomoto  <atsushi@ximian.com>
227
228         * ClientRuntime.cs : oops, it should have been committed at a time.
229           Change .ctor() args. Make some properties auto.
230
231 2009-08-07  Atsushi Enomoto  <atsushi@ximian.com>
232
233         * DispatchRuntime.cs : callback runtime is set later.
234
235 2009-08-06  Atsushi Enomoto  <atsushi@ximian.com>
236
237         * ClientRuntime.cs :
238           .ctor() just needs contract. Fill some properties.
239
240 2009-08-04  Atsushi Enomoto  <atsushi@ximian.com>
241
242         * ReplyHandler.cs : there is better way to check IsOneWay.
243
244 2009-08-04  Atsushi Enomoto  <atsushi@ximian.com>
245
246         * OperationInvokerHandler.cs : One way operation has no reply.
247         * ReplyHandler.cs : ditto.
248
249 2009-07-31  Atsushi Enomoto  <atsushi@ximian.com>
250
251         * ChannelDispatcher.cs : raise error on multiple endpoint match
252           (documented at EndpointDispatcher.FilterPriority).
253
254 2009-07-28  Atsushi Enomoto  <atsushi@ximian.com>
255
256         * ChannelDispatcher.cs : move Open() inside acceptor lock, so that
257           the channel does not have to be fired Receive() before Open().
258
259 2009-07-14  Atsushi Enomoto  <atsushi@ximian.com>
260
261         * DispatchRuntime.cs : add ValidateMustUnderstand.
262         * DispatchOperation.cs : add AutoDisposeParameters.
263
264 2009-07-02  Atsushi Enomoto  <atsushi@ximian.com>
265
266         * ChannelDispatcher.cs : when service instance is provided to the
267           ServiceHost, do not reject Type-less state.
268
269 2009-06-29  Atsushi Enomoto  <atsushi@ximian.com>
270
271         * ChannelDispatcher.cs : do not iterate extra channel acceptance
272           and hence close channels a bit more gracefully.
273
274 2009-06-25  Atsushi Enomoto  <atsushi@ximian.com>
275
276         * ChannelDispatcher.cs : instead of discarding channels, reuse them
277           unless it is closed by session manager (session manager does not
278           work, so channels are not actually closed automatically yet).
279
280 2009-06-25  Atsushi Enomoto  <atsushi@ximian.com>
281
282         * SessionInstanceContextProvider.cs : new instance context provider.
283
284 2009-06-23  Atsushi Enomoto  <atsushi@ximian.com>
285
286         * DispatchRuntime.cs : do not fill InstanceContextProvider here.
287         * ChannelDispatcher.cs : do it here instead.
288         * ChannelDispatcherCollection.cs : remove TODOs.
289
290 2009-06-23  Atsushi Enomoto  <atsushi@ximian.com>
291
292         * InputOrReplyRequestProcessor.cs : bogus initialization.
293
294 2009-06-18  Atsushi Enomoto  <atsushi@ximian.com>
295
296         * ChannelDispatcher.cs : significant changes:
297           - simplified Open/Close async.
298           - implement OnAbort().
299           - create ServiceThrottle when it is null.
300           - Channels are accepted as much as the throttle allows, and
301             process requests when accepted an input (now it holds more than
302             one channel).
303           - Support ReceiveSynchronously and use Begin/EndAcceptChannel()
304             for async pattern.
305           - Close all channels and the listener when it is closed.
306           - Cosmetic simplification on channel acceptor delegate creation.
307
308 2009-06-09  Atsushi Enomoto  <atsushi@ximian.com>
309
310         * ChannelDispatcher.cs : avoid NRE (actually it should eliminate
311           Thread.Abort()). Added some comments on throttling.
312
313 2009-06-09  Atsushi Enomoto  <atsushi@ximian.com>
314
315         * ServiceThrottle.cs : implement.
316
317 2009-06-08  Atsushi Enomoto  <atsushi@ximian.com>
318
319         * ChannelDispatcher.cs :
320           Add call to base (see CommunicationObject change).
321
322 2009-06-01  Atsushi Enomoto  <atsushi@ximian.com>
323
324         * ChannelDispatcher.cs : handle more errors gracefully.
325
326 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
327
328         * ErrorProcessingHandler.cs, InputOrReplyRequestProcessor.cs :
329           they also premise request-reply channel and broke duplex channels.
330
331 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
332
333         * ChannelDispatcher.cs : open channel before using it.
334
335 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
336
337         * ReplyHandler.cs, InputOrReplyRequestProcessor.cs,
338           MessageProcessingContext.cs : reply processing is also needed by
339           non-request channels (i.e. duplex). Current code basis lacked
340           such possibility. Quick fix by adding duplex support in
341           ReplyHandler so far.
342
343 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
344
345         * ChannelDispatcher.cs, SecurityHandler.cs,
346           InputOrReplyRequestProcessor.cs, MessageProcessingContext.cs :
347           remove default communication timeouts from several types. They
348           bring bogus NRE. Instead, fill timeouts in ChannelDispatcher and
349           use it when required (it was actually *only* request processor).
350
351 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
352
353         * ChannelDispatcher.cs : wrong channel argument.
354
355 2009-04-27  Atsushi Enomoto  <atsushi@ximian.com>
356
357         * DispatchRuntime.cs : some comment.
358         * ChannelDispatcher.cs : ongoing changes to handle listeners and
359           accepted channels at more precise state. Listeners are opened,
360           without accepting channels. Some setup code is done at OnOpen(),
361           while some are done at OnOpened().
362
363 2009-04-23  Atsushi Enomoto  <atsushi@ximian.com>
364
365         * DispatchOperation.cs : implement GetFormatter() at service side too.
366
367 2009-04-01  Atsushi Enomoto  <atsushi@ximian.com>
368
369         * OperationInvokeHandler.cs : replace MS copycat exception message.
370
371 2009-02-26  Atsushi Enomoto  <atsushi@ximian.com>
372
373         * ClientRuntime.cs : fill contractType in .ctor().
374
375 2009-02-04  Atsushi Enomoto  <atsushi@ximian.com>
376
377         * BaseMessagesFormatter.cs : do not use non-2.1 CreateInstance().
378
379 2008-06-18  Noam Lampert <noaml@mainsoft.com>
380
381         * ChannelDispatcher.cs: Avoid aborting host process on faulty input message.
382
383 2008-05-22  Noam Lampert <noaml@mainsoft.com>
384
385         * OperationInvokeHandler.cs: Only return fault reply when TargetInvocation occured (not other internal
386           errors. Serlialize the correct (inner) exception.
387           
388 2008-05-22  Roei Erez  <roeie@mainsoft.com>
389         * fix ContractDescription.GetContract implementation
390         * Refactor Request processing
391         * Add support for message inspectors
392         * Add support for InstanceContextProvider & InstanceProvider, including lifecycles events
393         like: ReleaseServiceInstance, Open, Close...
394         * Add relevant test cases.
395
396 2008-05-01  Eyal Alaluf <eyala@mainsoft.com>
397
398         * BaseMessagesFormatter.cs: Handle methods with out parameters that return
399           void.
400         * DispatchOperation.cs, IOperationInvoker.cs: Simplify method invocation.
401
402 2008-04-22  Igor Zelmanovich <igorz@mainsoft.com>
403
404         * DispatchOperation.cs: removed dependency on OperationDescription, 
405         allows usage of custom channel dispatcher without endpoint was explicitly 
406         built
407
408 2008-04-22  Igor Zelmanovich <igorz@mainsoft.com>
409
410         * MexInstanceContextProvider.cs - remove unused code.
411
412 2008-04-21  Roei Erez <roeie@mainsoft.com>
413
414         * ChannelDispatcher.cs - Change order of Dispatcher shutdown
415
416 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
417
418         * ChannelDispatcher.cs, EndpointDispatcher.cs: removed dependency on 
419         ServiceDescription/ServiceEndpoint, allows usage of channel dispatcher
420         without endpoint was explicitly built
421         * EndpointDispatcher.cs: Filters lazy evaluation, refactored
422         communication processing, logic moved to channel dispatcher
423
424 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
425
426         * ActionMessageFilter.cs: fixed Match, match for "*" action
427
428 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
429
430         * DispatchOperation.cs: fixed ProcessRequest, fault message creation
431
432 2008-04-10  Eyal Alaluf <eyala@mainsoft.com>
433
434         * DefaultMessageOperationFormatter.cs: Moved to BaseMessagesFormatter.cs.
435         * BaseMessagesFormatter.cs: Refactored so typed messages uses the classes
436           defined here instead of the other way around.
437           Added support for by-ref and out parameters.
438           Added support for XmlSerializerFormat serializaters..
439         * DispatchOperation.cs, ClientOperation.cs: Use BaseMessagesFormatter.Create
440
441 2008-04-09  Roei Erez <roeie@mainsoft.com>
442
443         * Remove unused nethod from previous commit
444
445 2008-04-08  Roei Erez <roeie@mainsoft.com>
446
447         * ChannelDispatcher.cs
448           - fix 'Attach' logic
449           - Add support for Endpoints property
450           - Remove the hack of 'endpoint_dispatcher' field
451         * ChannelDispatcherCollection.cs
452           - Add support for 'Attach' 'Detach'
453         * EndpointDispatcher.cs
454           - By default create MatchAllMessageFilter.
455
456 2008-02-17  Atsushi Enomoto  <atsushi@ximian.com>
457
458         * EndpointDispatcher.cs : we don't need AddressFilter workaround
459           from Feb. 14 anymore.
460
461 2008-02-17  Atsushi Enomoto  <atsushi@ximian.com>
462
463         * EndpointDispatcher.cs : after service method call, apply outgoing
464           headers and properties to the returned message.
465
466 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
467
468         * ChannelDispatcher.cs : populate DispatchOperations before applying
469           IEndpointBehaviors so that those behaviors can modify dispatch
470           operations.
471
472 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
473
474         * DispatchOperation.cs : Action may be null. For such cases, use 
475           MessageDirection to determine the message description.
476
477 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
478
479         * EndpointAddressMessageFilter.cs : implement Match(MessageBuffer).
480           Use ordinal string comparison.
481         * PrefixEndpointAddressMessageFilter.cs : implement Match() (both).
482
483 2008-02-14  Atsushi Enomoto  <atsushi@ximian.com>
484
485         * EndpointDispatcher.cs : moved AddressFilter application only when
486           DispatchOperation was not selected (it is sort of workaround).
487
488 2007-08-19  Atsushi Enomoto  <atsushi@ximian.com>
489
490         * DefaultMessageOperationFormatter.cs : Fixed SerializeReply() for
491           message contract type to process result, not the parameter.
492
493 2007-08-19  Atsushi Enomoto  <atsushi@ximian.com>
494
495         * SingletonInstanceContextProvider.cs : new.
496
497 2007-08-17  Atsushi Enomoto  <atsushi@ximian.com>
498
499         * DefaultMessageOperationFormatter.cs : dependent changes on
500           message serializer and deserializer.
501
502 2007-03-24  Atsushi Enomoto  <atsushi@ximian.com>
503
504         * DefaultMessageOperationFormatter.cs :
505           use it for deserialization as well.
506
507 2007-03-24  Atsushi Enomoto  <atsushi@ximian.com>
508
509         * DefaultMessageOperationFormatter.cs : consider message contracts
510           during message serialization/deserialization.
511
512 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
513
514         * EndpointDispatcher.cs : now dispatcher-side foundation for token
515           negotiation is ready. Handle negotiation message on its own way.
516         * DispatchOperation.cs : instead of returning irrelevant SOAP Fault,
517           simply raise an error and let FaultConverter do better work.
518
519 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
520
521         * EndpointDispatcher.cs : use ErrorHandlers when error was raised.
522           Handle exceptions to make into SOAP Fault, using FaultConverter.
523         * ChannelDispatcher.cs : simply get ServiceEndpoint at Attach().
524         * ChannelDispatcherBase.cs : removed MonoTODOs.
525
526 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
527
528         * ChannelDispatcher.cs, DispatchRuntime.cs, EndpointDispatcher.cs :
529           moved most of request/input processing to EndpointDispatcher.cs.
530           Also, ChannelDispatcher now contains code for behavior
531           initialization.
532
533 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
534
535         * ChannelDispatcher.cs : some cosmetic refactoring on error handling
536           with comments.
537
538 2006-12-14  Atsushi Enomoto  <atsushi@ximian.com>
539
540         * ChannelDispatcher.cs, DispatchRuntime.cs, DispatchOperation.cs :
541           Support OperationContext and OperationContextScope with
542           ServiceRuntimeChannel as its .ctor() input.
543
544 2006-12-14  Atsushi Enomoto  <atsushi@ximian.com>
545
546         * DispatchRuntime.cs : raise an error when the DispatchOperation
547           returned null Message.
548
549 2006-10-18  Ankit Jain  <jankit@novell.com>
550
551         * MexInstanceContextProvider.cs (HttpGetInstanceContextProvider): New.
552         * DispatchOperation.cs (DoProcessRequest): InstanceContext returned by
553         the provider can be null.
554         * EndpointAddressMessageFilter.cs (Match): Handle IncludeHostNameInComparison.
555
556 2006-10-12  Atsushi Enomoto  <atsushi@ximian.com>
557
558         * DispatchOperation.cs : slightly improved exception message.
559
560 2006-10-06  Ankit Jain  <jankit@novell.com>
561
562         * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore):
563         ReceiveRequest can return null.
564
565 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
566
567         * ClientRuntime.cs : added MaxFaultSize.
568
569 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
570
571         * ChannelDispatcher.cs : don't reject anonymous and null To.
572
573 2006-10-04  Ankit Jain  <jankit@novell.com>
574
575         * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore): Reply with a 
576         Fault message if message's To doesn't match the endpoint.
577         (ListenerLoopManager.CreateDestinationUnreachable): New.
578         * IInstanceContextProvider.cs: New.
579         * MexInstanceContextProvider.cs: New. InstanceContextProvider for
580         MetadataExchange.
581         (MetadataExchange): Implementation of IMetadataExchange.
582         * DispatchRuntime.cs (InstanceContextProvider): Add missing property.
583         * DispatchOperation.cs (DoProcessRequest): Use InstanceContextProvider
584         if available to obtain service instance.
585         * EndpointDispatcher.cs (.ctor): Set AddressFilter to EndpointAddressMessageFilter.
586         * EndpointAddressMessageFilter.cs (Match): Implement.
587
588 2006-10-03  Atsushi Enomoto  <atsushi@ximian.com>
589
590         * ClientRuntime.cs : added InteractiveChannelInitializer.
591
592 2006-09-12  Atsushi Enomoto  <atsushi@ximian.com>
593
594         * DispatchOperation.cs : removed extra comment.
595
596 2006-09-08  Atsushi Enomoto  <atsushi@ximian.com>
597
598         * DispatchOperation.cs : workaround to send exception detail.
599
600 2006-09-06  Atsushi Enomoto  <atsushi@ximian.com>
601
602         * ICallContextInitializer.cs : new file.
603         * DispatchOperation.cs : use above.
604           Not sure if it works correctly though.
605
606 2006-08-28  Atsushi Enomoto  <atsushi@ximian.com>
607
608         * DispatchOperation.cs : when there is an error during
609           ProcessRequest(), wrap the exception with MessageFault and return
610           a fault message.
611
612 2006-08-10  Duncan Mak  <duncan@novell.com>
613
614         * ExceptionHandler.cs: New file.
615
616         * ServiceThrottle.cs (MaxConnections): Renamed to
617         MaxConcurrentSessions.
618         (MaxInstances): Renamed to MaxConcurrentInstances.
619
620 2006-07-27  Atsushi Enomoto  <atsushi@ximian.com>
621
622         * IInteractiveChannelInitializer.cs : new file.
623
624 2006-07-14  Atsushi Enomoto  <atsushi@ximian.com>
625
626         * IErrorHandler.cs : API updates.
627
628 2006-07-13  Atsushi Enomoto  <atsushi@ximian.com>
629
630         * DispatchRuntime.cs :
631           it was selecting UnhandledOperation unexpectedly.
632         * DispatchOperation.cs : added FIXME comment.
633
634 2006-07-13  Atsushi Enomoto  <atsushi@ximian.com>
635
636         * DefaultMessageOperationFormatter.cs : Remove hack for non-
637           (de)serializing Message-based methods. They are now moved to
638           ClientBase and ServiceHostBase to explicitly set
639           [Serialize|Deserialize][Request|Reply].
640
641 2006-07-12  Atsushi Enomoto  <atsushi@ximian.com>
642
643         * DefaultMessageOperationFormatter.cs : don't omit action on
644           SerializeRequest. Do it in SerializeReply.
645
646 2006-07-12  Atsushi Enomoto  <atsushi@ximian.com>
647
648         * DefaultMessageOperationFormatter.cs : When addressing version is
649           None, then omit reply action. This logic is moved from MessageImpl.
650
651 2006-07-11  Atsushi Enomoto  <atsushi@ximian.com>
652
653         * DefaultMessageOperationFormatter.cs :
654           return message, not parameter[0]. Removed some extra FIXMEs.
655
656 2006-07-10  Atsushi Enomoto  <atsushi@ximian.com>
657
658         * DefaultMessageOperationFormatter.cs : when the parameter is
659           Message and the return type is Message, then do not use
660           XmlObjectSerializer.
661
662 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
663
664         * PrefixEndpointAddressMessageFilter.cs, FaultContractInfo.cs :
665           new types in June CTP.
666         * ISharedInstanceSessionLifetime.cs:
667           removed in June CTP.
668         * ChannelDispatcher.cs, MatchAllMessageFilter.cs, DispatchRuntime.cs,
669           DispatchOperation.cs, ClientRuntime.cs, MatchNoneMessageFilter.cs,
670           ClientOperation.cs, ActionMessageFilterTable.cs,
671           EndpointAddressMessageFilterTable.cs :
672           several minor fixes for June CTP.
673
674 2006-07-06  Atsushi Enomoto  <atsushi@ximian.com>
675
676         * DispatchOperation.cs : MessageFault.DefaultAction vanished.
677
678 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
679
680         * IClientFormatter.cs, IClientMessageFormatter.cs,
681           IDispatchFormatter.cs, IDispatchMessageFormatter.cs :
682           renamed former to latter, for each.
683
684 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
685
686         * ChannelDispatcher.cs, DispatchRuntime.cs :
687           IRequestContext -> RequestContext.
688
689 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
690
691         * ChannelDispatcher.cs, IDispatchFormatter.cs,
692           DefaultMessageOperationFormatter.cs, IClientFormatter.cs,
693           DispatchOperation.cs, ClientOperation.cs :
694           some June CTP updates.
695
696 2006-06-22  Atsushi Enomoto  <atsushi@ximian.com>
697
698         * DefaultMessageOperationFormatter.cs : implement SerializeRequest()
699           and DeserializeReply(). Now simple ClientBase<T> sample is working.
700
701 2006-06-22  Atsushi Enomoto  <atsushi@ximian.com>
702
703         * ClientOperation.cs : added GetFormatter() to support message
704           serialization/deserialization.
705         * DispatchOperation.cs : made some internal members private
706           (they are exposed extraneously). Commented out debugging code.
707
708 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
709
710         * DefaultMessageOperationFormatter.cs : In SerializeReply(), use
711           custom BodyWriter() and use MessagePartDescription names. Now
712           return value and other (ref/out) parameters could be equivalently
713           serialized (at this method; to support them more love is needed).
714
715 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
716
717         * DefaultMessageOperationFormatter.cs :
718           Action for response is null (though it is likely conditional).
719
720 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
721
722         * DefaultMessageOperationFormatter.cs :
723           true DeserializeReply implementation using Message.CreateMessage()
724           with DataContractSerializer (not complete though).
725
726 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
727
728         * ChannelDispatcher.cs, DispatchOperation.cs,
729           ChannelDispatcherBase.cs :
730           some updated API fixes.
731
732 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
733
734         * EndpointDispatcher.cs : moved from Sys.ServiceModel.
735
736 2006-04-20  Atsushi Enomoto  <atsushi@ximian.com>
737
738         * ClientRuntime.cs : some minor collection instantiation and comments.
739
740 2006-04-07  Atsushi Enomoto  <atsushi@ximian.com>
741
742         * DispatchOperation.cs : Implemented internal MessageVersion.
743           hacked instance provision by using Activator.CreateInstance.
744         * DefaultMessageOperationFormatter.cs : fixed DeserializeRequest to
745           be functional. Implemented SerializeReply.
746
747 2006-04-05  Atsushi Enomoto  <atsushi@ximian.com>
748
749         * DispatchOperation.cs : return SOAP fault message for nonexistent
750           request Action.
751         * DefaultMessageOperationFormatter.cs : implemented
752           DeserializeRequest(), though there is no working example.
753
754 2006-03-17  Atsushi Enomoto  <atsushi@ximian.com>
755
756         * DispatchOperation.cs : implemented logic to acquire
757           OperationDescription. Added code for default IDispatchFormatter
758           implementation.
759         * DispatchRuntime.cs : fix warning.
760         * DefaultMessageOperationFormatter.cs : new file, for default
761           IDispatchFormatter implementation (not done yet).
762         * ChannelDispatcher.cs : create EndpointDispatcher in Attach and
763           bind to this instance.
764
765 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
766
767         * ChannelDispatcherCollection.cs : added parameterless ctor().
768         * ChannelDispatcher.cs DispatchRuntime.cs DispatchOperation.cs :
769           Set some initial field values as proved in unit tests.
770           Request/input processing is still ongoing.
771
772 2006-03-13  Atsushi Enomoto  <atsushi@ximian.com>
773
774         * ChannelDispatcher.cs
775           DispatchRuntime.cs
776           DispatchOperation.cs : added request/input processing code.
777
778 2006-03-07  Atsushi Enomoto  <atsushi@ximian.com>
779
780         * ChannelDispatcher.cs : Get "AcceptChannel" method without ambiguity.
781
782 2006-03-07  Atsushi Enomoto  <atsushi@ximian.com>
783
784         * ChannelDispatcher.cs : Added request-processing code.
785
786 2006-03-06  Atsushi Enomoto  <atsushi@ximian.com>
787
788         * ChannelDispatcher.cs : implement Attach() and Detach() more to work.
789
790 2006-02-23  Atsushi Enomoto  <atsushi@ximian.com>
791
792         * DispatchBehavior.cs : 
793           Dependent fixes for System.IdentityModel reorgainzation.
794
795 2006-02-23  Atsushi Enomoto  <atsushi@ximian.com>
796
797         * FilterNodeQuotaExceededException.cs
798           FilterInvalidBodyAccessException.cs DispatchBehavior.cs
799           DispatchOperation.cs NavigatorInvalidBodyAccessException.cs
800           MatchNoneFilter.cs ActionFilter.cs
801           MultipleFilterMatchesException.cs Filter.cs
802           IInstanceContextInitializer.cs XPathFilter.cs
803           IDispatchOperationSelector.cs MatchAllFilter.cs
804           ActionFilterTable.cs EndpointAddressFilter.cs FilterTable.cs
805           EndpointFilterTable.cs XPathMessageContext.cs
806           IEndpointDispatcher.cs ProxyBehavior.cs
807           ProxyOperation.cs XPathFilterTable.cs
808           EndpointAddressFilterTable.cs InvalidBodyAccessException.cs
809           IFilterTable.cs IOperationInvoker.cs :
810           moved from System.ServiceModel due to the API changes.