ChangeLog 33 KB

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