1 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
3 * ChannelDispatcher.cs : open channel before using it.
5 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
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
13 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
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).
21 2009-05-13 Atsushi Enomoto <atsushi@ximian.com>
23 * ChannelDispatcher.cs : wrong channel argument.
25 2009-04-27 Atsushi Enomoto <atsushi@ximian.com>
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().
33 2009-04-23 Atsushi Enomoto <atsushi@ximian.com>
35 * DispatchOperation.cs : implement GetFormatter() at service side too.
37 2009-04-01 Atsushi Enomoto <atsushi@ximian.com>
39 * OperationInvokeHandler.cs : replace MS copycat exception message.
41 2009-02-26 Atsushi Enomoto <atsushi@ximian.com>
43 * ClientRuntime.cs : fill contractType in .ctor().
45 2009-02-04 Atsushi Enomoto <atsushi@ximian.com>
47 * BaseMessagesFormatter.cs : do not use non-2.1 CreateInstance().
49 2008-06-18 Noam Lampert <noaml@mainsoft.com>
51 * ChannelDispatcher.cs: Avoid aborting host process on faulty input message.
53 2008-05-22 Noam Lampert <noaml@mainsoft.com>
55 * OperationInvokeHandler.cs: Only return fault reply when TargetInvocation occured (not other internal
56 errors. Serlialize the correct (inner) exception.
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.
66 2008-05-01 Eyal Alaluf <eyala@mainsoft.com>
68 * BaseMessagesFormatter.cs: Handle methods with out parameters that return
70 * DispatchOperation.cs, IOperationInvoker.cs: Simplify method invocation.
72 2008-04-22 Igor Zelmanovich <igorz@mainsoft.com>
74 * DispatchOperation.cs: removed dependency on OperationDescription,
75 allows usage of custom channel dispatcher without endpoint was explicitly
78 2008-04-22 Igor Zelmanovich <igorz@mainsoft.com>
80 * MexInstanceContextProvider.cs - remove unused code.
82 2008-04-21 Roei Erez <roeie@mainsoft.com>
84 * ChannelDispatcher.cs - Change order of Dispatcher shutdown
86 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
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
94 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
96 * ActionMessageFilter.cs: fixed Match, match for "*" action
98 2008-04-17 Vladimir Krasnov <vladimirk@mainsoft.com>
100 * DispatchOperation.cs: fixed ProcessRequest, fault message creation
102 2008-04-10 Eyal Alaluf <eyala@mainsoft.com>
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
111 2008-04-09 Roei Erez <roeie@mainsoft.com>
113 * Remove unused nethod from previous commit
115 2008-04-08 Roei Erez <roeie@mainsoft.com>
117 * ChannelDispatcher.cs
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.
126 2008-02-17 Atsushi Enomoto <atsushi@ximian.com>
128 * EndpointDispatcher.cs : we don't need AddressFilter workaround
129 from Feb. 14 anymore.
131 2008-02-17 Atsushi Enomoto <atsushi@ximian.com>
133 * EndpointDispatcher.cs : after service method call, apply outgoing
134 headers and properties to the returned message.
136 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
138 * ChannelDispatcher.cs : populate DispatchOperations before applying
139 IEndpointBehaviors so that those behaviors can modify dispatch
142 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
144 * DispatchOperation.cs : Action may be null. For such cases, use
145 MessageDirection to determine the message description.
147 2008-02-15 Atsushi Enomoto <atsushi@ximian.com>
149 * EndpointAddressMessageFilter.cs : implement Match(MessageBuffer).
150 Use ordinal string comparison.
151 * PrefixEndpointAddressMessageFilter.cs : implement Match() (both).
153 2008-02-14 Atsushi Enomoto <atsushi@ximian.com>
155 * EndpointDispatcher.cs : moved AddressFilter application only when
156 DispatchOperation was not selected (it is sort of workaround).
158 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
160 * DefaultMessageOperationFormatter.cs : Fixed SerializeReply() for
161 message contract type to process result, not the parameter.
163 2007-08-19 Atsushi Enomoto <atsushi@ximian.com>
165 * SingletonInstanceContextProvider.cs : new.
167 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
169 * DefaultMessageOperationFormatter.cs : dependent changes on
170 message serializer and deserializer.
172 2007-03-24 Atsushi Enomoto <atsushi@ximian.com>
174 * DefaultMessageOperationFormatter.cs :
175 use it for deserialization as well.
177 2007-03-24 Atsushi Enomoto <atsushi@ximian.com>
179 * DefaultMessageOperationFormatter.cs : consider message contracts
180 during message serialization/deserialization.
182 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
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.
189 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
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.
196 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
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
203 2007-03-07 Atsushi Enomoto <atsushi@ximian.com>
205 * ChannelDispatcher.cs : some cosmetic refactoring on error handling
208 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
210 * ChannelDispatcher.cs, DispatchRuntime.cs, DispatchOperation.cs :
211 Support OperationContext and OperationContextScope with
212 ServiceRuntimeChannel as its .ctor() input.
214 2006-12-14 Atsushi Enomoto <atsushi@ximian.com>
216 * DispatchRuntime.cs : raise an error when the DispatchOperation
217 returned null Message.
219 2006-10-18 Ankit Jain <jankit@novell.com>
221 * MexInstanceContextProvider.cs (HttpGetInstanceContextProvider): New.
222 * DispatchOperation.cs (DoProcessRequest): InstanceContext returned by
223 the provider can be null.
224 * EndpointAddressMessageFilter.cs (Match): Handle IncludeHostNameInComparison.
226 2006-10-12 Atsushi Enomoto <atsushi@ximian.com>
228 * DispatchOperation.cs : slightly improved exception message.
230 2006-10-06 Ankit Jain <jankit@novell.com>
232 * ChannelDispatcher.cs (ListenerLoopManager.StartLoopCore):
233 ReceiveRequest can return null.
235 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
237 * ClientRuntime.cs : added MaxFaultSize.
239 2006-10-05 Atsushi Enomoto <atsushi@ximian.com>
241 * ChannelDispatcher.cs : don't reject anonymous and null To.
243 2006-10-04 Ankit Jain <jankit@novell.com>
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
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.
258 2006-10-03 Atsushi Enomoto <atsushi@ximian.com>
260 * ClientRuntime.cs : added InteractiveChannelInitializer.
262 2006-09-12 Atsushi Enomoto <atsushi@ximian.com>
264 * DispatchOperation.cs : removed extra comment.
266 2006-09-08 Atsushi Enomoto <atsushi@ximian.com>
268 * DispatchOperation.cs : workaround to send exception detail.
270 2006-09-06 Atsushi Enomoto <atsushi@ximian.com>
272 * ICallContextInitializer.cs : new file.
273 * DispatchOperation.cs : use above.
274 Not sure if it works correctly though.
276 2006-08-28 Atsushi Enomoto <atsushi@ximian.com>
278 * DispatchOperation.cs : when there is an error during
279 ProcessRequest(), wrap the exception with MessageFault and return
282 2006-08-10 Duncan Mak <duncan@novell.com>
284 * ExceptionHandler.cs: New file.
286 * ServiceThrottle.cs (MaxConnections): Renamed to
287 MaxConcurrentSessions.
288 (MaxInstances): Renamed to MaxConcurrentInstances.
290 2006-07-27 Atsushi Enomoto <atsushi@ximian.com>
292 * IInteractiveChannelInitializer.cs : new file.
294 2006-07-14 Atsushi Enomoto <atsushi@ximian.com>
296 * IErrorHandler.cs : API updates.
298 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
300 * DispatchRuntime.cs :
301 it was selecting UnhandledOperation unexpectedly.
302 * DispatchOperation.cs : added FIXME comment.
304 2006-07-13 Atsushi Enomoto <atsushi@ximian.com>
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].
311 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
313 * DefaultMessageOperationFormatter.cs : don't omit action on
314 SerializeRequest. Do it in SerializeReply.
316 2006-07-12 Atsushi Enomoto <atsushi@ximian.com>
318 * DefaultMessageOperationFormatter.cs : When addressing version is
319 None, then omit reply action. This logic is moved from MessageImpl.
321 2006-07-11 Atsushi Enomoto <atsushi@ximian.com>
323 * DefaultMessageOperationFormatter.cs :
324 return message, not parameter[0]. Removed some extra FIXMEs.
326 2006-07-10 Atsushi Enomoto <atsushi@ximian.com>
328 * DefaultMessageOperationFormatter.cs : when the parameter is
329 Message and the return type is Message, then do not use
332 2006-07-07 Atsushi Enomoto <atsushi@ximian.com>
334 * PrefixEndpointAddressMessageFilter.cs, FaultContractInfo.cs :
335 new types in June CTP.
336 * ISharedInstanceSessionLifetime.cs:
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.
344 2006-07-06 Atsushi Enomoto <atsushi@ximian.com>
346 * DispatchOperation.cs : MessageFault.DefaultAction vanished.
348 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
350 * IClientFormatter.cs, IClientMessageFormatter.cs,
351 IDispatchFormatter.cs, IDispatchMessageFormatter.cs :
352 renamed former to latter, for each.
354 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
356 * ChannelDispatcher.cs, DispatchRuntime.cs :
357 IRequestContext -> RequestContext.
359 2006-07-05 Atsushi Enomoto <atsushi@ximian.com>
361 * ChannelDispatcher.cs, IDispatchFormatter.cs,
362 DefaultMessageOperationFormatter.cs, IClientFormatter.cs,
363 DispatchOperation.cs, ClientOperation.cs :
364 some June CTP updates.
366 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
368 * DefaultMessageOperationFormatter.cs : implement SerializeRequest()
369 and DeserializeReply(). Now simple ClientBase<T> sample is working.
371 2006-06-22 Atsushi Enomoto <atsushi@ximian.com>
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.
378 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
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).
385 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
387 * DefaultMessageOperationFormatter.cs :
388 Action for response is null (though it is likely conditional).
390 2006-06-20 Atsushi Enomoto <atsushi@ximian.com>
392 * DefaultMessageOperationFormatter.cs :
393 true DeserializeReply implementation using Message.CreateMessage()
394 with DataContractSerializer (not complete though).
396 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
398 * ChannelDispatcher.cs, DispatchOperation.cs,
399 ChannelDispatcherBase.cs :
400 some updated API fixes.
402 2006-05-29 Atsushi Enomoto <atsushi@ximian.com>
404 * EndpointDispatcher.cs : moved from Sys.ServiceModel.
406 2006-04-20 Atsushi Enomoto <atsushi@ximian.com>
408 * ClientRuntime.cs : some minor collection instantiation and comments.
410 2006-04-07 Atsushi Enomoto <atsushi@ximian.com>
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.
417 2006-04-05 Atsushi Enomoto <atsushi@ximian.com>
419 * DispatchOperation.cs : return SOAP fault message for nonexistent
421 * DefaultMessageOperationFormatter.cs : implemented
422 DeserializeRequest(), though there is no working example.
424 2006-03-17 Atsushi Enomoto <atsushi@ximian.com>
426 * DispatchOperation.cs : implemented logic to acquire
427 OperationDescription. Added code for default IDispatchFormatter
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.
435 2006-03-16 Atsushi Enomoto <atsushi@ximian.com>
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.
442 2006-03-13 Atsushi Enomoto <atsushi@ximian.com>
444 * ChannelDispatcher.cs
446 DispatchOperation.cs : added request/input processing code.
448 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
450 * ChannelDispatcher.cs : Get "AcceptChannel" method without ambiguity.
452 2006-03-07 Atsushi Enomoto <atsushi@ximian.com>
454 * ChannelDispatcher.cs : Added request-processing code.
456 2006-03-06 Atsushi Enomoto <atsushi@ximian.com>
458 * ChannelDispatcher.cs : implement Attach() and Detach() more to work.
460 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
462 * DispatchBehavior.cs :
463 Dependent fixes for System.IdentityModel reorgainzation.
465 2006-02-23 Atsushi Enomoto <atsushi@ximian.com>
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.