2009-10-15 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.ServiceModel / System.ServiceModel / ChangeLog
index 0115417bc10a680bf4cd4411ddc6efbcda995355..2091592007e95317bf34f0cad33b7a02ebfb0ed1 100755 (executable)
@@ -1,3 +1,388 @@
+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.