+2009-10-15 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : fix relative URI construction for
+ ServiceMetadataExtension. It should create URI like
+ http://localhost/test.svc/wsdl, not http://localhost/wsdl .
+
+2009-10-15 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : on opening the host, check service endpoints
+ to make sure if there is at least one "non-mex" endpoint.
+ Fix couple of typos.
+
+2009-10-09 Atsushi Enomoto <atsushi@ximian.com>
+
+ * InstanceContext.cs : new constraints on CommunicationObject
+ required calls to base methods.
+ * ChannelFactory.cs : ditto. Actually changed timing to call
+ Open() on the internal factory.
+ * ServiceHostBase.cs : removed DoOpen() which is almost extra now.
+ Added temporary IMetadataExchange workaround.
+
+2009-10-07 Sebastien Pouliot <sebastien@ximian.com>
+
+ * OperationContext.cs: Use [ThreadStatic] instead of Thread.
+ GetNamedDataSlot with Thread.[Get|Set]Data since it offers type
+ safety and don't require keeping extra API inside Moonlight
+
+2009-10-07 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : a couple of refactoring on contract loopup.
+ Do not push mex contracts to ImplementedContracts.
+
+2009-10-02 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostingEnvironment.cs : revert the change, to use
+ internal asp.net state again.
+
+2009-10-02 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : apply endpoint behavior section in config.
+ Otherwise WebScriptEnablingBehavior won't be created.
+
+2009-10-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : fill behaviors first, then add endpoints.
+ IMetadataExchange requires ServiceMetadataBehaviors, but it may be
+ filled only from config (which is to be read later).
+
+2009-10-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelFactory.cs : MT users should be warned.
+ * ClientBase.cs : make MT-only ChannelBase.Invoke() protected.
+
+2009-09-30 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostingEnvironment.cs : use AspNetCompatibilityEnabled as
+ ASP.NET switch.
+
+2009-09-30 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelFactory.cs : use ConfigUtil to get config sections.
+
+2009-09-29 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientProxyGenerator.cs : fix wrong parameter number for async
+ end method with return value.
+
+2009-09-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DuplexClientRuntimeChannel.cs : reflecting EndpointDispatcher change.
+
+2009-09-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : OnOpened() should not hide events that are
+ invoked at the base class.
+
+2009-09-11 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : partly revert dispatcher builder refactoring
+ to fix some ServiceHostBaseTest regressions.
+
+2009-09-06 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientProxyGenerator.cs : it missed end method argument on
+ generating end method proxy.
+
+2009-09-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : URI trailing '/' can be added only when the
+ relative URI is non-empty. Do not make http://host/foo.svc as
+ http://host/foo.svc/ , it's not a directory.
+
+2009-09-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : add AddBaseAddress(). BaseAddresses must be
+ non-null.
+
+2009-09-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : move DispatcherBuilder out from ServiceHostBase.
+
+2009-09-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : on service contract lookup, do not always
+ expect contract name to match type name.
+ * ServiceHost.cs : remove extra local var.
+
+2009-09-03 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : fix wrong listenUri argument in
+ AddServiceEndpoint() call chain.
+
+2009-09-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelFactory_1.cs : validate behaviors.
+
+2009-09-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : add Extensions.
+
+2009-08-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * SilverlightClientConfigLoader.cs : add (incomplete) binary
+ encoder support at config layer. see:
+ http://lists.ximian.com/pipermail/mono-list/2009-August/043245.html
+
+2009-08-26 Atsushi Enomoto <atsushi@ximian.com>
+
+ * PeerNode.cs : use ulong as same as Welcome message value.
+
+2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
+
+ * Constants.cs : p2p constants should rather go here.
+
+2009-08-24 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs, DuplexClientRuntimeChannel.cs : split out
+ from former to latter and implemented most part of listener part.
+ Make sure to open internal channel at base ClientRuntimeChannel.
+ * ClientProxyGenerator.cs : minimize !NET_2_1 to here.
+
+2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : some refactoring to reduce weird limitation
+ to apply behaviors to endpoints. (no need to limit to [0]).
+
+2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : some refactoring to isolate dispatcher
+ builder code from here.
+
+2009-08-21 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : moved some code to channel/endpoint dispatcher
+ to reduce their dependencies on this type.
+
+2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : implement async OnBegin/EndOpen like close.
+ Add FIXME and OnOpen() override on duplex channel.
+
+2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : support UnknownMessageReceived (used by
+ ChannelDispatcher).
+
+2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * OperationContext.cs, OperationContextScope.cs :
+ implement IsUserContext.
+
+2009-08-20 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DuplexChannelFactory.cs, ChannelFactory_1.cs: with static factory
+ methods, they should close the factory when the channel is closed,
+ but nonstatic CreateChannel() could be called more than once, so
+ do not always close it.
+ * ClientRuntimeChannel.cs : take OperationContext.Current into
+ consideration (it could be created by users).
+
+2009-08-19 Atsushi Enomoto <atsushi@ximian.com>
+
+ * NetNamedPipeBinding.cs, NetNamedPipeSecurity.cs
+ NamedPipeTransportSecurity.cs : new files.
+ * Dummy.cs : remove above ones.
+
+2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : wildcard action support was not working
+ for one-way channels.
+
+2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : set expected AddressFilter.
+
+2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * EndpointAddress.cs : #if !NET_2_1 is removing code too much.
+
+2009-08-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceRuntimeChannel.cs : made some properties in duplex context
+ channel dispatching to internal client.
+
+2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
+
+ * OperationContextScope.cs : check null arg.
+
+2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceRuntimeChannel.cs : return timeouts that are set at
+ dispatch runtime later than its .ctor(). Provide ListenUri too.
+
+2009-08-14 Atsushi Enomoto <atsushi@ximian.com>
+
+ * AllEnums.cs : add AddressFilterMode and SupportedAddressingMode.
+ * ServiceBehaviorAttribute.cs : added missing properties.
+
+2009-08-11 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientBase.cs : (ChannelBase) now ClientRuntimeChannel demands an
+ explicit address.
+
+2009-08-11 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : use new IOperationInvoker implementation.
+
+2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceRuntimeChannel.cs : change .ctor() args.
+ Add proxy hook methods that simply calls those in callback
+ ClientRuntimeChannel.
+
+2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : create callback runtime here, if required.
+
+2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : factory was not fully optional. Add
+ contextChannel argument to make room for duplex callback channel.
+
+2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientProxyGenerator.cs : split client-specific code generation
+ from those common to service callback generation.
+ * ServiceProxyGenerator.cs : new file, uses common basis above.
+
+2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceRuntimeChannel.cs : created derived duplex type.
+
+2009-08-07 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : close/abort channels.
+ factory is optional now.
+
+2009-08-06 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : unify IChannel field to one.
+
+2009-08-06 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : de-factorying toward callback instancing.
+
+2009-08-06 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DuplexChannelFactory.cs, ClientRuntimeChannel.cs,
+ ChannelFactory_1.cs : more ServiceEndpoint dep reduction.
+
+2009-08-06 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : removing extra deps on ServiceEndpoint.
+
+2009-08-06 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : eliminate dependency on ChannelFactory,
+ which will block using it for callback instances.
+
+2009-08-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : fix 2.1 build.
+
+2009-08-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs : actually CallbackInstance is set and
+ should be available.
+
+2009-08-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DuplexChannelFactory.cs, ClientProxyGenerator.cs, ClientBase.cs,
+ ChannelFactory_1.cs, DuplexClientBase.cs :
+ create IDuplexContextChannel from ClientBase if required.
+
+2009-08-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DuplexClientRuntimeChannel.cs : new proxy base channel.
+
+2009-08-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceRuntimeChannel.cs : it should implement IServiceChannel,
+ not IClientChannel.
+
+2009-08-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * OperationContext.cs : GetCallbackChannel<T>() should just return
+ channel (which should also implement T, which must be callback
+ type).
+
+2009-08-04 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceBehaviorAttribute.cs : cosmetic spelling fix.
+
+2009-07-31 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientRuntimeChannel.cs, ClientProxyGenerator.cs, ClientBase.cs,
+ ChannelFactory_1.cs : now proxies take remote address and via uri
+ which could be optionally specified and use it whenever required.
+
+2009-07-30 Atsushi Enomoto <atsushi@ximian.com>
+
+ * PeerNode.cs : remove TCP listener creator.
+ It is now in PeerDuplexChannel.
+
+2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * TransactionFlowAttribute.cs : new file.
+
+2009-07-28 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelFactory.cs : implement some remaining members.
+ Remove null argument check and make setter optional.
+
+2009-07-24 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ChannelFactory.cs: add some null checks.
+
+2009-07-17 Atsushi Enomoto <atsushi@ximian.com>
+
+ * NetTcpBinding.cs : a couple of members should be passed to
+ appropriate binding element.
+
+2009-07-14 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceBehaviorAttribute.cs : fix IsolationLevel default value.
+ * CallbackBehaviorAttribute.cs : ditto.
+ Partly implemented interface methods.
+
+2009-07-14 Atsushi Enomoto <atsushi@ximian.com>
+
+ * OperationBehaviorAttribute.cs :
+ add AutoDisposeParameters, and apply it.
+ * CallbackBehaviorAttribute.cs : added couple of missing members.
+
+2009-07-14 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceBehaviorAttribute.cs : fix default values and simplify code.
+
+2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DuplexClientBase.cs : oops, fix build.
+
+2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DuplexClientBase.cs : add missing members here too.
+
+2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ClientBase.cs : some of Silverlight API are backported to full CLR.
+
+2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * DuplexChannelFactory.cs : fill missing members.
+
+2009-07-10 Atsushi Enomoto <atsushi@ximian.com>
+
+ * PeerNode.cs : significant refactoring. It does not call resolver
+ to manage the node itself but rather hold its state.
+
+2009-07-09 Atsushi Enomoto <atsushi@ximian.com>
+
+ * PeerNode.cs : some implementation cleanup before significant
+ refactoring. Mesh state is not maintained here. Use optionally
+ fixed listener address and port. Set offline status when closed.
+
+2009-07-08 Atsushi Enomoto <atsushi@ximian.com>
+
+ * NetPeerTcpBinding.cs : Fix interface implementations.
+
+2009-07-02 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceBehaviorAttribute.cs : fill SingletonInstanceContext on
+ opening the host.
+
+2009-06-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * InstanceContext.cs : add missing member / cosmetic API fix.
+ * ServiceBehaviorAttribute.cs : InstanceContextMode is per-session
+ by default.
+
+2009-06-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ServiceHostBase.cs : remove more TODO.
+
2009-06-23 Atsushi Enomoto <atsushi@ximian.com>
* OperationContext.cs : implement SessionId.