<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Request/Response Service Layer: Exposing The Service Layer Through WCF</title>
	<atom:link href="http://davybrion.com/blog/2009/11/requestresponse-service-layer-exposing-the-service-layer-through-wcf/feed/" rel="self" type="application/rss+xml" />
	<link>http://davybrion.com/blog/2009/11/requestresponse-service-layer-exposing-the-service-layer-through-wcf/</link>
	<description>Trying to walk that thin line between intelligence and ignorance</description>
	<lastBuildDate>Thu, 29 Jul 2010 21:01:23 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Chris</title>
		<link>http://davybrion.com/blog/2009/11/requestresponse-service-layer-exposing-the-service-layer-through-wcf/comment-page-1/#comment-41619</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Thu, 10 Jun 2010 17:20:13 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=1804#comment-41619</guid>
		<description>KnownTypeProvider.RegisterDerivedTypesOf(assembly);</description>
		<content:encoded><![CDATA[<p>KnownTypeProvider.RegisterDerivedTypesOf(assembly);</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://davybrion.com/blog/2009/11/requestresponse-service-layer-exposing-the-service-layer-through-wcf/comment-page-1/#comment-41617</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Thu, 10 Jun 2010 17:19:33 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=1804#comment-41617</guid>
		<description>oops.. I meant

&lt;code&gt;
     KnownTypeProvider.RegisterDerivedTypesOf(assembly);
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>oops.. I meant</p>
<p><code><br />
     KnownTypeProvider.RegisterDerivedTypesOf(assembly);<br />
</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://davybrion.com/blog/2009/11/requestresponse-service-layer-exposing-the-service-layer-through-wcf/comment-page-1/#comment-41616</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Thu, 10 Jun 2010 17:18:38 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=1804#comment-41616</guid>
		<description>Thanks for the great article, I found it very useful. Just an FYI I modified your KnownTypeProvider class in this way

&lt;code&gt;
        private static IEnumerable GetDerivedTypesOf(Type baseType, IEnumerable types)
        {
            //return types.Where(t =&gt; !t.IsAbstract &amp;&amp; t.IsSubclassOf(baseType)).ToList();
            return types.Where(t =&gt; !t.IsAbstract &amp;&amp; baseType.IsAssignableFrom(t)).ToList();
        }
&lt;/code&gt;
This way I can send do something like 
&lt;code&gt;KnownTypeProvider(someAssembly);&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Thanks for the great article, I found it very useful. Just an FYI I modified your KnownTypeProvider class in this way</p>
<p><code><br />
        private static IEnumerable GetDerivedTypesOf(Type baseType, IEnumerable types)<br />
        {<br />
            //return types.Where(t =&gt; !t.IsAbstract &amp;&amp; t.IsSubclassOf(baseType)).ToList();<br />
            return types.Where(t =&gt; !t.IsAbstract &amp;&amp; baseType.IsAssignableFrom(t)).ToList();<br />
        }<br />
</code><br />
This way I can send do something like<br />
<code>KnownTypeProvider(someAssembly);</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2009/11/requestresponse-service-layer-exposing-the-service-layer-through-wcf/comment-page-1/#comment-22948</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Fri, 13 Nov 2009 21:10:51 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=1804#comment-22948</guid>
		<description>@ Luc

it might be... i thought that registering the know types before the first service request is received was enough... it might be because i primarily use it with IIS and maybe it creates the service host as late as possible or something (as in: when the first requests is received)</description>
		<content:encoded><![CDATA[<p>@ Luc</p>
<p>it might be&#8230; i thought that registering the know types before the first service request is received was enough&#8230; it might be because i primarily use it with IIS and maybe it creates the service host as late as possible or something (as in: when the first requests is received)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Luc</title>
		<link>http://davybrion.com/blog/2009/11/requestresponse-service-layer-exposing-the-service-layer-through-wcf/comment-page-1/#comment-22945</link>
		<dc:creator>Luc</dc:creator>
		<pubDate>Fri, 13 Nov 2009 16:47:15 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=1804#comment-22945</guid>
		<description>If I&#039;m not mistaken, the known types must be registered before the ServiceHost is created because the GetKnownTypes is called from the CreateDescription method of the ServiceHost.

If the assemblies containing the requests and responses are shared between the client and the server, using the NetDataContractSerializer can help since known types must not be declared for operations.
But you need to tweak the serialization in the fault channel since it keeps using the DataContractSerializer to serialize FaultException</description>
		<content:encoded><![CDATA[<p>If I&#8217;m not mistaken, the known types must be registered before the ServiceHost is created because the GetKnownTypes is called from the CreateDescription method of the ServiceHost.</p>
<p>If the assemblies containing the requests and responses are shared between the client and the server, using the NetDataContractSerializer can help since known types must not be declared for operations.<br />
But you need to tweak the serialization in the fault channel since it keeps using the DataContractSerializer to serialize FaultException</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reflective Perspective - Chris Alcock &#187; The Morning Brew #475</title>
		<link>http://davybrion.com/blog/2009/11/requestresponse-service-layer-exposing-the-service-layer-through-wcf/comment-page-1/#comment-22933</link>
		<dc:creator>Reflective Perspective - Chris Alcock &#187; The Morning Brew #475</dc:creator>
		<pubDate>Thu, 12 Nov 2009 08:27:26 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=1804#comment-22933</guid>
		<description>[...] Request/Response Service Layer: Exposing The Service Layer Through WCF - Davy Brion continues his series on the Request Response Service Layer with a look at putting his service layer out there via WCF, with plenty of illustrating code [...]</description>
		<content:encoded><![CDATA[<p>[...] Request/Response Service Layer: Exposing The Service Layer Through WCF &#8211; Davy Brion continues his series on the Request Response Service Layer with a look at putting his service layer out there via WCF, with plenty of illustrating code [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2009/11/requestresponse-service-layer-exposing-the-service-layer-through-wcf/comment-page-1/#comment-22930</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Wed, 11 Nov 2009 22:09:21 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=1804#comment-22930</guid>
		<description>@Aaron

if that is the only place where it&#039;s used like that, then why would i? what would be the difference between doing it yourself, or having some other kind of infrastructural library doing it for you?

if you were to do that all over the place, then yeah it would definitely bother me. But if it&#039;s only in one place, in a piece of infrastructural code that you never need to change, then i really don&#039;t think there&#039;s any _real_ problem there.</description>
		<content:encoded><![CDATA[<p>@Aaron</p>
<p>if that is the only place where it&#8217;s used like that, then why would i? what would be the difference between doing it yourself, or having some other kind of infrastructural library doing it for you?</p>
<p>if you were to do that all over the place, then yeah it would definitely bother me. But if it&#8217;s only in one place, in a piece of infrastructural code that you never need to change, then i really don&#8217;t think there&#8217;s any _real_ problem there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron  Fischer</title>
		<link>http://davybrion.com/blog/2009/11/requestresponse-service-layer-exposing-the-service-layer-through-wcf/comment-page-1/#comment-22927</link>
		<dc:creator>Aaron  Fischer</dc:creator>
		<pubDate>Wed, 11 Nov 2009 17:38:54 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=1804#comment-22927</guid>
		<description>So it doesn&#039;t bother you to use the container as a global service locator?</description>
		<content:encoded><![CDATA[<p>So it doesn&#8217;t bother you to use the container as a global service locator?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
