2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel.Dispatcher / ChangeLog
1 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * ChannelDispatcher.cs : open channel before using it.
4
5 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
6
7         * ReplyHandler.cs, InputOrReplyRequestProcessor.cs,
8           MessageProcessingContext.cs : reply processing is also needed by
9           non-request channels (i.e. duplex). Current code basis lacked
10           such possibility. Quick fix by adding duplex support in
11           ReplyHandler so far.
12
13 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
14
15         * ChannelDispatcher.cs, SecurityHandler.cs,
16           InputOrReplyRequestProcessor.cs, MessageProcessingContext.cs :
17           remove default communication timeouts from several types. They
18           bring bogus NRE. Instead, fill timeouts in ChannelDispatcher and
19           use it when required (it was actually *only* request processor).
20
21 2009-05-13  Atsushi Enomoto  <atsushi@ximian.com>
22
23         * ChannelDispatcher.cs : wrong channel argument.
24
25 2009-04-27  Atsushi Enomoto  <atsushi@ximian.com>
26
27         * DispatchRuntime.cs : some comment.
28         * ChannelDispatcher.cs : ongoing changes to handle listeners and
29           accepted channels at more precise state. Listeners are opened,
30           without accepting channels. Some setup code is done at OnOpen(),
31           while some are done at OnOpened().
32
33 2009-04-23  Atsushi Enomoto  <atsushi@ximian.com>
34
35         * DispatchOperation.cs : implement GetFormatter() at service side too.
36
37 2009-04-01  Atsushi Enomoto  <atsushi@ximian.com>
38
39         * OperationInvokeHandler.cs : replace MS copycat exception message.
40
41 2009-02-26  Atsushi Enomoto  <atsushi@ximian.com>
42
43         * ClientRuntime.cs : fill contractType in .ctor().
44
45 2009-02-04  Atsushi Enomoto  <atsushi@ximian.com>
46
47         * BaseMessagesFormatter.cs : do not use non-2.1 CreateInstance().
48
49 2008-06-18  Noam Lampert <noaml@mainsoft.com>
50
51         * ChannelDispatcher.cs: Avoid aborting host process on faulty input message.
52
53 2008-05-22  Noam Lampert <noaml@mainsoft.com>
54
55         * OperationInvokeHandler.cs: Only return fault reply when TargetInvocation occured (not other internal
56           errors. Serlialize the correct (inner) exception.
57           
58 2008-05-22  Roei Erez  <roeie@mainsoft.com>
59         * fix ContractDescription.GetContract implementation
60         * Refactor Request processing
61         * Add support for message inspectors
62         * Add support for InstanceContextProvider & InstanceProvider, including lifecycles events
63         like: ReleaseServiceInstance, Open, Close...
64         * Add relevant test cases.
65
66 2008-05-01  Eyal Alaluf <eyala@mainsoft.com>
67
68         * BaseMessagesFormatter.cs: Handle methods with out parameters that return
69           void.
70         * DispatchOperation.cs, IOperationInvoker.cs: Simplify method invocation.
71
72 2008-04-22  Igor Zelmanovich <igorz@mainsoft.com>
73
74         * DispatchOperation.cs: removed dependency on OperationDescription, 
75         allows usage of custom channel dispatcher without endpoint was explicitly 
76         built
77
78 2008-04-22  Igor Zelmanovich <igorz@mainsoft.com>
79
80         * MexInstanceContextProvider.cs - remove unused code.
81
82 2008-04-21  Roei Erez <roeie@mainsoft.com>
83
84         * ChannelDispatcher.cs - Change order of Dispatcher shutdown
85
86 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
87
88         * ChannelDispatcher.cs, EndpointDispatcher.cs: removed dependency on 
89         ServiceDescription/ServiceEndpoint, allows usage of channel dispatcher
90         without endpoint was explicitly built
91         * EndpointDispatcher.cs: Filters lazy evaluation, refactored
92         communication processing, logic moved to channel dispatcher
93
94 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
95
96         * ActionMessageFilter.cs: fixed Match, match for "*" action
97
98 2008-04-17  Vladimir Krasnov  <vladimirk@mainsoft.com>
99
100         * DispatchOperation.cs: fixed ProcessRequest, fault message creation
101
102 2008-04-10  Eyal Alaluf <eyala@mainsoft.com>
103
104         * DefaultMessageOperationFormatter.cs: Moved to BaseMessagesFormatter.cs.
105         * BaseMessagesFormatter.cs: Refactored so typed messages uses the classes
106           defined here instead of the other way around.
107           Added support for by-ref and out parameters.
108           Added support for XmlSerializerFormat serializaters..
109         * DispatchOperation.cs, ClientOperation.cs: Use BaseMessagesFormatter.Create
110
111 2008-04-09  Roei Erez <roeie@mainsoft.com>
112
113         * Remove unused nethod from previous commit
114
115 2008-04-08  Roei Erez <roeie@mainsoft.com>
116
117         * ChannelDispatcher.cs
118           - fix 'Attach' logic
119           - Add support for Endpoints property
120           - Remove the hack of 'endpoint_dispatcher' field
121         * ChannelDispatcherCollection.cs
122           - Add support for 'Attach' 'Detach'
123         * EndpointDispatcher.cs
124           - By default create MatchAllMessageFilter.
125
126 2008-02-17  Atsushi Enomoto  <atsushi@ximian.com>
127
128         * EndpointDispatcher.cs : we don't need AddressFilter workaround
129           from Feb. 14 anymore.
130
131 2008-02-17  Atsushi Enomoto  <atsushi@ximian.com>
132
133         * EndpointDispatcher.cs : after service method call, apply outgoing
134           headers and properties to the returned message.
135
136 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
137
138         * ChannelDispatcher.cs : populate DispatchOperations before applying
139           IEndpointBehaviors so that those behaviors can modify dispatch
140           operations.
141
142 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
143
144         * DispatchOperation.cs : Action may be null. For such cases, use 
145           MessageDirection to determine the message description.
146
147 2008-02-15  Atsushi Enomoto  <atsushi@ximian.com>
148
149         * EndpointAddressMessageFilter.cs : implement Match(MessageBuffer).
150           Use ordinal string comparison.
151         * PrefixEndpointAddressMessageFilter.cs : implement Match() (both).
152
153 2008-02-14  Atsushi Enomoto  <atsushi@ximian.com>
154
155         * EndpointDispatcher.cs : moved AddressFilter application only when
156           DispatchOperation was not selected (it is sort of workaround).
157
158 2007-08-19  Atsushi Enomoto  <atsushi@ximian.com>
159
160         * DefaultMessageOperationFormatter.cs : Fixed SerializeReply() for
161           message contract type to process result, not the parameter.
162
163 2007-08-19  Atsushi Enomoto  <atsushi@ximian.com>
164
165         * SingletonInstanceContextProvider.cs : new.
166
167 2007-08-17  Atsushi Enomoto  <atsushi@ximian.com>
168
169         * DefaultMessageOperationFormatter.cs : dependent changes on
170           message serializer and deserializer.
171
172 2007-03-24  Atsushi Enomoto  <atsushi@ximian.com>
173
174         * DefaultMessageOperationFormatter.cs :
175           use it for deserialization as well.
176
177 2007-03-24  Atsushi Enomoto  <atsushi@ximian.com>
178
179         * DefaultMessageOperationFormatter.cs : consider message contracts
180           during message serialization/deserialization.
181
182 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
183
184         * EndpointDispatcher.cs : now dispatcher-side foundation for token
185           negotiation is ready. Handle negotiation message on its own way.
186         * DispatchOperation.cs : instead of returning irrelevant SOAP Fault,
187           simply raise an error and let FaultConverter do better work.
188
189 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
190
191         * EndpointDispatcher.cs : use ErrorHandlers when error was raised.
192           Handle exceptions to make into SOAP Fault, using FaultConverter.
193         * ChannelDispatcher.cs : simply get ServiceEndpoint at Attach().
194         * ChannelDispatcherBase.cs : removed MonoTODOs.
195
196 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
197
198         * ChannelDispatcher.cs, DispatchRuntime.cs, EndpointDispatcher.cs :
199           moved most of request/input processing to EndpointDispatcher.cs.
200           Also, ChannelDispatcher now contains code for behavior
201           initialization.
202
203 2007-03-07  Atsushi Enomoto  <atsushi@ximian.com>
204
205         * ChannelDispatcher.cs : some cosmetic refactoring on error handling
206           with comments.
207
208 2006-12-14  Atsushi Enomoto  <atsushi@ximian.com>
209
210         * ChannelDispatcher.cs, DispatchRuntime.cs, DispatchOperation.cs :
211           Support OperationContext and OperationContextScope with
212           ServiceRuntimeChannel as its .ctor() input.
213
214 2006-12-14  Atsushi Enomoto  <atsushi@ximian.com>
215
216         * DispatchRuntime.cs : raise an error when the DispatchOperation
217           returned null Message.
218
219 2006-10-18  Ankit Jain  <jankit@novell.com>
220
221         * MexInstanceContextProvider.cs (HttpGetInstanceContextProvider): New.
222         * DispatchOperation.cs (DoProcessRequest): InstanceContext returned by
223         the provider can be null.
224         * EndpointAddressMessageFilter.cs (Match): Handle IncludeHostNameInComparison.
225
226 2006-10-12  Atsushi Enomoto  <atsushi@ximian.com>
227
228         * DispatchOperation.cs : slightly improved exception message.
229
230 2006-10-06  Ankit Jain  <jankit@novell.com>
231
232         * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore):
233         ReceiveRequest can return null.
234
235 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
236
237         * ClientRuntime.cs : added MaxFaultSize.
238
239 2006-10-05  Atsushi Enomoto  <atsushi@ximian.com>
240
241         * ChannelDispatcher.cs : don't reject anonymous and null To.
242
243 2006-10-04  Ankit Jain  <jankit@novell.com>
244
245         * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore): Reply with a 
246         Fault message if message's To doesn't match the endpoint.
247         (ListenerLoopManager.CreateDestinationUnreachable): New.
248         * IInstanceContextProvider.cs: New.
249         * MexInstanceContextProvider.cs: New. InstanceContextProvider for
250         MetadataExchange.
251         (MetadataExchange): Implementation of IMetadataExchange.
252         * DispatchRuntime.cs (InstanceContextProvider): Add missing property.
253         * DispatchOperation.cs (DoProcessRequest): Use InstanceContextProvider
254         if available to obtain service instance.
255         * EndpointDispatcher.cs (.ctor): Set AddressFilter to EndpointAddressMessageFilter.
256         * EndpointAddressMessageFilter.cs (Match): Implement.
257
258 2006-10-03  Atsushi Enomoto  <atsushi@ximian.com>
259
260         * ClientRuntime.cs : added InteractiveChannelInitializer.
261
262 2006-09-12  Atsushi Enomoto  <atsushi@ximian.com>
263
264         * DispatchOperation.cs : removed extra comment.
265
266 2006-09-08  Atsushi Enomoto  <atsushi@ximian.com>
267
268         * DispatchOperation.cs : workaround to send exception detail.
269
270 2006-09-06  Atsushi Enomoto  <atsushi@ximian.com>
271
272         * ICallContextInitializer.cs : new file.
273         * DispatchOperation.cs : use above.
274           Not sure if it works correctly though.
275
276 2006-08-28  Atsushi Enomoto  <atsushi@ximian.com>
277
278         * DispatchOperation.cs : when there is an error during
279           ProcessRequest(), wrap the exception with MessageFault and return
280           a fault message.
281
282 2006-08-10  Duncan Mak  <duncan@novell.com>
283
284         * ExceptionHandler.cs: New file.
285
286         * ServiceThrottle.cs (MaxConnections): Renamed to
287         MaxConcurrentSessions.
288         (MaxInstances): Renamed to MaxConcurrentInstances.
289
290 2006-07-27  Atsushi Enomoto  <atsushi@ximian.com>
291
292         * IInteractiveChannelInitializer.cs : new file.
293
294 2006-07-14  Atsushi Enomoto  <atsushi@ximian.com>
295
296         * IErrorHandler.cs : API updates.
297
298 2006-07-13  Atsushi Enomoto  <atsushi@ximian.com>
299
300         * DispatchRuntime.cs :
301           it was selecting UnhandledOperation unexpectedly.
302         * DispatchOperation.cs : added FIXME comment.
303
304 2006-07-13  Atsushi Enomoto  <atsushi@ximian.com>
305
306         * DefaultMessageOperationFormatter.cs : Remove hack for non-
307           (de)serializing Message-based methods. They are now moved to
308           ClientBase and ServiceHostBase to explicitly set
309           [Serialize|Deserialize][Request|Reply].
310
311 2006-07-12  Atsushi Enomoto  <atsushi@ximian.com>
312
313         * DefaultMessageOperationFormatter.cs : don't omit action on
314           SerializeRequest. Do it in SerializeReply.
315
316 2006-07-12  Atsushi Enomoto  <atsushi@ximian.com>
317
318         * DefaultMessageOperationFormatter.cs : When addressing version is
319           None, then omit reply action. This logic is moved from MessageImpl.
320
321 2006-07-11  Atsushi Enomoto  <atsushi@ximian.com>
322
323         * DefaultMessageOperationFormatter.cs :
324           return message, not parameter[0]. Removed some extra FIXMEs.
325
326 2006-07-10  Atsushi Enomoto  <atsushi@ximian.com>
327
328         * DefaultMessageOperationFormatter.cs : when the parameter is
329           Message and the return type is Message, then do not use
330           XmlObjectSerializer.
331
332 2006-07-07  Atsushi Enomoto  <atsushi@ximian.com>
333
334         * PrefixEndpointAddressMessageFilter.cs, FaultContractInfo.cs :
335           new types in June CTP.
336         * ISharedInstanceSessionLifetime.cs:
337           removed in June CTP.
338         * ChannelDispatcher.cs, MatchAllMessageFilter.cs, DispatchRuntime.cs,
339           DispatchOperation.cs, ClientRuntime.cs, MatchNoneMessageFilter.cs,
340           ClientOperation.cs, ActionMessageFilterTable.cs,
341           EndpointAddressMessageFilterTable.cs :
342           several minor fixes for June CTP.
343
344 2006-07-06  Atsushi Enomoto  <atsushi@ximian.com>
345
346         * DispatchOperation.cs : MessageFault.DefaultAction vanished.
347
348 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
349
350         * IClientFormatter.cs, IClientMessageFormatter.cs,
351           IDispatchFormatter.cs, IDispatchMessageFormatter.cs :
352           renamed former to latter, for each.
353
354 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
355
356         * ChannelDispatcher.cs, DispatchRuntime.cs :
357           IRequestContext -> RequestContext.
358
359 2006-07-05  Atsushi Enomoto  <atsushi@ximian.com>
360
361         * ChannelDispatcher.cs, IDispatchFormatter.cs,
362           DefaultMessageOperationFormatter.cs, IClientFormatter.cs,
363           DispatchOperation.cs, ClientOperation.cs :
364           some June CTP updates.
365
366 2006-06-22  Atsushi Enomoto  <atsushi@ximian.com>
367
368         * DefaultMessageOperationFormatter.cs : implement SerializeRequest()
369           and DeserializeReply(). Now simple ClientBase<T> sample is working.
370
371 2006-06-22  Atsushi Enomoto  <atsushi@ximian.com>
372
373         * ClientOperation.cs : added GetFormatter() to support message
374           serialization/deserialization.
375         * DispatchOperation.cs : made some internal members private
376           (they are exposed extraneously). Commented out debugging code.
377
378 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
379
380         * DefaultMessageOperationFormatter.cs : In SerializeReply(), use
381           custom BodyWriter() and use MessagePartDescription names. Now
382           return value and other (ref/out) parameters could be equivalently
383           serialized (at this method; to support them more love is needed).
384
385 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
386
387         * DefaultMessageOperationFormatter.cs :
388           Action for response is null (though it is likely conditional).
389
390 2006-06-20  Atsushi Enomoto  <atsushi@ximian.com>
391
392         * DefaultMessageOperationFormatter.cs :
393           true DeserializeReply implementation using Message.CreateMessage()
394           with DataContractSerializer (not complete though).
395
396 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
397
398         * ChannelDispatcher.cs, DispatchOperation.cs,
399           ChannelDispatcherBase.cs :
400           some updated API fixes.
401
402 2006-05-29  Atsushi Enomoto  <atsushi@ximian.com>
403
404         * EndpointDispatcher.cs : moved from Sys.ServiceModel.
405
406 2006-04-20  Atsushi Enomoto  <atsushi@ximian.com>
407
408         * ClientRuntime.cs : some minor collection instantiation and comments.
409
410 2006-04-07  Atsushi Enomoto  <atsushi@ximian.com>
411
412         * DispatchOperation.cs : Implemented internal MessageVersion.
413           hacked instance provision by using Activator.CreateInstance.
414         * DefaultMessageOperationFormatter.cs : fixed DeserializeRequest to
415           be functional. Implemented SerializeReply.
416
417 2006-04-05  Atsushi Enomoto  <atsushi@ximian.com>
418
419         * DispatchOperation.cs : return SOAP fault message for nonexistent
420           request Action.
421         * DefaultMessageOperationFormatter.cs : implemented
422           DeserializeRequest(), though there is no working example.
423
424 2006-03-17  Atsushi Enomoto  <atsushi@ximian.com>
425
426         * DispatchOperation.cs : implemented logic to acquire
427           OperationDescription. Added code for default IDispatchFormatter
428           implementation.
429         * DispatchRuntime.cs : fix warning.
430         * DefaultMessageOperationFormatter.cs : new file, for default
431           IDispatchFormatter implementation (not done yet).
432         * ChannelDispatcher.cs : create EndpointDispatcher in Attach and
433           bind to this instance.
434
435 2006-03-16  Atsushi Enomoto  <atsushi@ximian.com>
436
437         * ChannelDispatcherCollection.cs : added parameterless ctor().
438         * ChannelDispatcher.cs DispatchRuntime.cs DispatchOperation.cs :
439           Set some initial field values as proved in unit tests.
440           Request/input processing is still ongoing.
441
442 2006-03-13  Atsushi Enomoto  <atsushi@ximian.com>
443
444         * ChannelDispatcher.cs
445           DispatchRuntime.cs
446           DispatchOperation.cs : added request/input processing code.
447
448 2006-03-07  Atsushi Enomoto  <atsushi@ximian.com>
449
450         * ChannelDispatcher.cs : Get "AcceptChannel" method without ambiguity.
451
452 2006-03-07  Atsushi Enomoto  <atsushi@ximian.com>
453
454         * ChannelDispatcher.cs : Added request-processing code.
455
456 2006-03-06  Atsushi Enomoto  <atsushi@ximian.com>
457
458         * ChannelDispatcher.cs : implement Attach() and Detach() more to work.
459
460 2006-02-23  Atsushi Enomoto  <atsushi@ximian.com>
461
462         * DispatchBehavior.cs : 
463           Dependent fixes for System.IdentityModel reorgainzation.
464
465 2006-02-23  Atsushi Enomoto  <atsushi@ximian.com>
466
467         * FilterNodeQuotaExceededException.cs
468           FilterInvalidBodyAccessException.cs DispatchBehavior.cs
469           DispatchOperation.cs NavigatorInvalidBodyAccessException.cs
470           MatchNoneFilter.cs ActionFilter.cs
471           MultipleFilterMatchesException.cs Filter.cs
472           IInstanceContextInitializer.cs XPathFilter.cs
473           IDispatchOperationSelector.cs MatchAllFilter.cs
474           ActionFilterTable.cs EndpointAddressFilter.cs FilterTable.cs
475           EndpointFilterTable.cs XPathMessageContext.cs
476           IEndpointDispatcher.cs ProxyBehavior.cs
477           ProxyOperation.cs XPathFilterTable.cs
478           EndpointAddressFilterTable.cs InvalidBodyAccessException.cs
479           IFilterTable.cs IOperationInvoker.cs :
480           moved from System.ServiceModel due to the API changes.