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