2010-04-21 Astushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Wed, 21 Apr 2010 09:48:27 +0000 (09:48 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Wed, 21 Apr 2010 09:48:27 +0000 (09:48 -0000)
* Http_listener_notes.txt: more comment.

svn path=/trunk/mcs/; revision=155858

mcs/class/System.ServiceModel/ChangeLog
mcs/class/System.ServiceModel/HTTP_listener_notes.txt

index 18e27848e74864f5a6c5da4a9be1920d9860e60e..36db2b0df36db1dc7bf30c2876455648b28bee1a 100755 (executable)
@@ -1,3 +1,7 @@
+2010-04-21  Astushi Enomoto  <atsushi@ximian.com>
+
+       * Http_listener_notes.txt: more comment.
+
 2010-04-20  Astushi Enomoto  <atsushi@ximian.com>
 
        * Http_listener_notes.txt: added explanation on *why* it is SO hard
index 3babf43d03f89f7101dbcd24307ba8426116d0e8..55c33a75c3ff41a6dfade966c31c584b4cbbccef 100644 (file)
@@ -67,3 +67,4 @@ There is not a few bugs on service implementations and there often are reasons:
 - HttpChannelListeners (Simple-, AspNet-) need an owner ServiceHostBase (could be a ChannelDispatcher which is bound to a ServiceHostBase). It has to be set probably at ICommunicationObject.Opening event.
 - After having ServiceHostBase to manage a HttpChannelListener for each endpoint URI (create new or reuse), the listener has to differentiate HTTP requests to an appropriate channel, by EndpointDispatcher.FilterPriority.
 - A big problem is that there is *no* strict way to access to bind a ServiceHostBase or ChannelDispatcher to IChannelListener implementation and hence HttpChannelListener. We can add a special internal field for them to ChannelListenerBase and set them internally at ServiceHostBase, but what IF the IChannelListener is *no* ChannelListenerBase? WSHttpBinding used to have a problem that GetProperty<T>() didn't run through its internal listeners. It is no surprise that a user creates an IChannelListener wrapper for base internal channels. In such case, internal property setters won't work AT ALL.
+  -> There is likely a hope. BindingContext.BuildInnerChannelFactory() explicitly rejects such cases that the BidningElementCollection does not contain a TransportBindingElement. So, it could be sort of assumed that HttpTransportBinidngElement is a top-level binding element that can be accessed when building a listener.