<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blog.vuscode.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Design for testability - WCF proxies</title><link>http://blog.vuscode.com/malovicn/archive/2009/11/01/design-for-testability-wcf-proxies.aspx</link><description>Recently I spent some time participating in projects involving Silverlight, Prism etc and there are couple of interesting things I’ve came up with during that period which I would like to share with the community in a form of a couple of blog posts showing</description><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20416.853)</generator><item><title>re: Design for testability - WCF proxies</title><link>http://blog.vuscode.com/malovicn/archive/2009/11/01/design-for-testability-wcf-proxies.aspx#1258</link><pubDate>Thu, 05 Nov 2009 19:38:23 GMT</pubDate><guid isPermaLink="false">4fad33ed-6fa7-4667-b447-1fa3be86b49e:1258</guid><dc:creator>Nigel Sampson</dc:creator><description>&lt;p&gt;Ahhh, now it makes a lot more sense.&lt;/p&gt;
&lt;p&gt;Thanks for that&lt;/p&gt;
&lt;img src="http://blog.vuscode.com/aggbug.aspx?PostID=1258" width="1" height="1"&gt;</description></item><item><title>re: Design for testability - WCF proxies</title><link>http://blog.vuscode.com/malovicn/archive/2009/11/01/design-for-testability-wcf-proxies.aspx#1257</link><pubDate>Thu, 05 Nov 2009 13:28:22 GMT</pubDate><guid isPermaLink="false">4fad33ed-6fa7-4667-b447-1fa3be86b49e:1257</guid><dc:creator>malovicn</dc:creator><description>&lt;p&gt;It is probablly related to the fact that &amp;quot;we&amp;quot; don't have in our code service contract as separate interface but instead implementation class gets decorated by attributes.&lt;/p&gt;
&lt;p&gt;If you look at Reference.cs in my sample you would find UserService interface (note NOT IUserService)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;public interface UserService {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.IAsyncResult BeginGetUsers(AsyncCallback callback, object asyncState);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ObservableCollection&amp;lt;User&amp;gt; EndGetUsers(IAsyncResult result);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;The main difference between our two approaches is that your comes out of box but requires one to use the BeginXXX, EndXXX syntax while mine requires some work but allows using xxxAsync + xxxCompleted event handler.&lt;/p&gt;
&lt;p&gt;IMHO, &amp;quot;the more the merrier&amp;quot; so it is good we came out with two different approaches :)&lt;/p&gt;
&lt;img src="http://blog.vuscode.com/aggbug.aspx?PostID=1257" width="1" height="1"&gt;</description></item><item><title>re: Design for testability - WCF proxies</title><link>http://blog.vuscode.com/malovicn/archive/2009/11/01/design-for-testability-wcf-proxies.aspx#1256</link><pubDate>Thu, 05 Nov 2009 03:17:52 GMT</pubDate><guid isPermaLink="false">4fad33ed-6fa7-4667-b447-1fa3be86b49e:1256</guid><dc:creator>Nigel Sampson</dc:creator><description>&lt;p&gt;Hey again, been trying pretty hard to generate a proxy that didn&amp;#39;t contain an interface with no luck.&lt;/p&gt;
&lt;p&gt;Did find this page &lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/en-us/library/ms733133.aspx"&gt;msdn.microsoft.com/.../ms733133.aspx&lt;/a&gt; which shows the output of svcutil which includes the two interfaces. &lt;/p&gt;
&lt;p&gt;Not sure why you (and a few of my readers) aren&amp;#39;t getting that interface. If you do find out can you let me know at nigel.sampson@compiledexperience.com&lt;/p&gt;
&lt;img src="http://blog.vuscode.com/aggbug.aspx?PostID=1256" width="1" height="1"&gt;</description></item><item><title>re: Design for testability - WCF proxies</title><link>http://blog.vuscode.com/malovicn/archive/2009/11/01/design-for-testability-wcf-proxies.aspx#1244</link><pubDate>Tue, 03 Nov 2009 20:31:53 GMT</pubDate><guid isPermaLink="false">4fad33ed-6fa7-4667-b447-1fa3be86b49e:1244</guid><dc:creator>Nigel Sampson</dc:creator><description>&lt;p&gt;I&amp;#39;ve been back and double checked it (running Visual Studio 2008 with Silverlight 3) and Reference.cs contained two interfaces ICocktailService and ICoctailServiceChannel. Haven&amp;#39;t used the latter, but the former contained the BeginX and EndX method pairs (but not the events exposed by the actual implementation CocktailServiceClient). &lt;/p&gt;
&lt;p&gt;The post is at &lt;a rel="nofollow" target="_new" href="http://compiledexperience.com/blog/posts/Blendable-MVVM-WCF-and-Asynch-Data-Sources"&gt;compiledexperience.com/.../Blendable-MVVM-WCF-and-Asynch-Data-Sources&lt;/a&gt; but I didn&amp;#39;t put the generated interface in (didn&amp;#39;t think it was overly special), but had a few emails about it not being generated for others so I&amp;#39;m looking into why. &lt;/p&gt;
&lt;p&gt;It&amp;#39;s really strange, initially thought it was because both server and client were in same solution, but tried from a seperate solution to get the interface.&lt;/p&gt;
&lt;p&gt;Will comment here when I have some definate answers (I&amp;#39;ve just checked and my work computer is generating interfaces as well). &lt;/p&gt;
&lt;p&gt;Could it be .net 3.5 SP1?&lt;/p&gt;
&lt;img src="http://blog.vuscode.com/aggbug.aspx?PostID=1244" width="1" height="1"&gt;</description></item><item><title>re: Design for testability - WCF proxies</title><link>http://blog.vuscode.com/malovicn/archive/2009/11/01/design-for-testability-wcf-proxies.aspx#1230</link><pubDate>Sun, 01 Nov 2009 19:15:17 GMT</pubDate><guid isPermaLink="false">4fad33ed-6fa7-4667-b447-1fa3be86b49e:1230</guid><dc:creator>malovicn</dc:creator><description>&lt;p&gt;Nigel,&lt;/p&gt;
&lt;p&gt;I was doing this &amp;quot;more then a few times&amp;quot; in both VS2008 and VS2010 with Silverlight, Wpf and ASP .NEt and never seen &amp;nbsp;that IUserServiceClient &amp;nbsp;interface&lt;/p&gt;
&lt;p&gt;What I have seen is |IUserService| (being a service contract) but in Silverlight async scenarios (and WPF if you want to have easy multy targeting scenario) that result with that interface having pairs BeginXXX and EndXxx etc -&amp;gt; totally different API then the one from client I am using in my post&lt;/p&gt;
&lt;p&gt;Can you please post a link to your blog post where you presented your case? I am dying to see that&lt;/p&gt;
&lt;img src="http://blog.vuscode.com/aggbug.aspx?PostID=1230" width="1" height="1"&gt;</description></item><item><title>Design for testability - WCF proxies - VusCode - Coding dreams &amp;#8230; Silverlight Blog</title><link>http://blog.vuscode.com/malovicn/archive/2009/11/01/design-for-testability-wcf-proxies.aspx#1229</link><pubDate>Sun, 01 Nov 2009 09:50:50 GMT</pubDate><guid isPermaLink="false">4fad33ed-6fa7-4667-b447-1fa3be86b49e:1229</guid><dc:creator>Design for testability - WCF proxies - VusCode - Coding dreams … Silverlight Blog</dc:creator><description>&lt;p&gt;Pingback from &amp;nbsp;Design for testability - WCF proxies - VusCode - Coding dreams &amp;amp;#8230; Silverlight Blog&lt;/p&gt;
&lt;img src="http://blog.vuscode.com/aggbug.aspx?PostID=1229" width="1" height="1"&gt;</description></item><item><title>Social comments and analytics for this post</title><link>http://blog.vuscode.com/malovicn/archive/2009/11/01/design-for-testability-wcf-proxies.aspx#1228</link><pubDate>Sun, 01 Nov 2009 09:18:17 GMT</pubDate><guid isPermaLink="false">4fad33ed-6fa7-4667-b447-1fa3be86b49e:1228</guid><dc:creator>uberVU - social comments</dc:creator><description>&lt;p&gt;This post was mentioned on Twitter by malovicn: My new blog post - Duck tape way of TDD enabling WCF dependable Silverlight code &lt;a rel="nofollow" target="_new" href="http://bit.ly/3v8an0"&gt;http://bit.ly/3v8an0&lt;/a&gt; #silverlight #wcf #tdd&lt;/p&gt;
&lt;img src="http://blog.vuscode.com/aggbug.aspx?PostID=1228" width="1" height="1"&gt;</description></item><item><title>re: Design for testability - WCF proxies</title><link>http://blog.vuscode.com/malovicn/archive/2009/11/01/design-for-testability-wcf-proxies.aspx#1227</link><pubDate>Sun, 01 Nov 2009 09:13:27 GMT</pubDate><guid isPermaLink="false">4fad33ed-6fa7-4667-b447-1fa3be86b49e:1227</guid><dc:creator>Nigel Sampson</dc:creator><description>&lt;p&gt;Excellent post, thanks a lot. One thing I found interesting though was that I wrote something similar around WCF and MVVM not long ago and found that WCF proxy had a pregenerated interface already on it.&lt;/p&gt;
&lt;p&gt;What&amp;#39;s strange is that was almost exactly the same as your service. Some tooling difference? Woud love to know your opinion&lt;/p&gt;
&lt;img src="http://blog.vuscode.com/aggbug.aspx?PostID=1227" width="1" height="1"&gt;</description></item><item><title>Twitter Trackbacks for                 Design for testability - WCF proxies - VusCode - Coding dreams since 1998!         [vuscode.com]        on Topsy.com</title><link>http://blog.vuscode.com/malovicn/archive/2009/11/01/design-for-testability-wcf-proxies.aspx#1226</link><pubDate>Sun, 01 Nov 2009 06:37:05 GMT</pubDate><guid isPermaLink="false">4fad33ed-6fa7-4667-b447-1fa3be86b49e:1226</guid><dc:creator>Twitter Trackbacks for                 Design for testability - WCF proxies - VusCode - Coding dreams since 1998!         [vuscode.com]        on Topsy.com</dc:creator><description>&lt;p&gt;Pingback from &amp;nbsp;Twitter Trackbacks for &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Design for testability - WCF proxies - VusCode - Coding dreams since 1998! &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [vuscode.com] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;on Topsy.com&lt;/p&gt;
&lt;img src="http://blog.vuscode.com/aggbug.aspx?PostID=1226" width="1" height="1"&gt;</description></item><item><title>Design for testability - WCF proxies - Nikola Malovic</title><link>http://blog.vuscode.com/malovicn/archive/2009/11/01/design-for-testability-wcf-proxies.aspx#1225</link><pubDate>Sun, 01 Nov 2009 06:13:32 GMT</pubDate><guid isPermaLink="false">4fad33ed-6fa7-4667-b447-1fa3be86b49e:1225</guid><dc:creator>DotNetShoutout</dc:creator><description>&lt;p&gt;Thank you for submitting this cool story - Trackback from DotNetShoutout&lt;/p&gt;
&lt;img src="http://blog.vuscode.com/aggbug.aspx?PostID=1225" width="1" height="1"&gt;</description></item></channel></rss>