<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>jpelak's blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/jpelak/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/jpelak/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:24:16 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Moved to new blog</title>
      <link>https://docs.microsoft.com/archive/blogs/jpelak/moved-to-new-blog</link>
      <pubDate>Mon, 28 May 2007 21:40:00 GMT</pubDate>
      <dc:creator><![CDATA[jpelak]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jpelak/2007/05/28/moved-to-new-blog/</guid>
      <description><![CDATA[I now post exclusively to http://blogs.msdn.com/usisvde.
Thanks,
jmp]]></description>
      <content:encoded><![CDATA[<P>I now post exclusively to <A href="http://blogs.msdn.com/usisvde">http://blogs.msdn.com/usisvde</A>.</P>
<P>Thanks,</P>
<P>jmp</P>]]></content:encoded>
    </item>
    <item>
      <title>Note to self - do not connect through O'Hare...</title>
      <link>https://docs.microsoft.com/archive/blogs/jpelak/note-to-self-do-not-connect-through-ohare</link>
      <pubDate>Sat, 24 Mar 2007 00:00:00 GMT</pubDate>
      <dc:creator><![CDATA[jpelak]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jpelak/2007/03/24/note-to-self-do-not-connect-through-ohare/</guid>
      <description><![CDATA[As&nbsp;nice as Chicago is, it's generally a bad idea to connect flights&nbsp;through the Windy...]]></description>
      <content:encoded><![CDATA[<P>As&nbsp;nice as Chicago is, it's generally a bad idea to connect flights&nbsp;through the Windy City.&nbsp; I know I'm not the first to make this observation, but I think this might be a good place to keep a few notes to self.</P>
<P>On another note,&nbsp;it would be great if there were some sort of warning system for airport delays similar to the ones we have for traffic congestion/incidents - maybe this exists somewhere...</P>]]></content:encoded>
    </item>
    <item>
      <title>MapPoint Web Service + WPF</title>
      <link>https://docs.microsoft.com/archive/blogs/jpelak/mappoint-web-service-wpf</link>
      <pubDate>Wed, 13 Sep 2006 07:16:00 GMT</pubDate>
      <dc:creator><![CDATA[jpelak]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jpelak/2006/09/13/mappoint-web-service-wpf/</guid>
      <description><![CDATA[The MapPoint Web Service SDK puts tremendous power in the hands of developers.&nbsp; The Windows...]]></description>
      <content:encoded><![CDATA[<P><FONT face=Tahoma size=2>The MapPoint Web Service SDK puts tremendous power in the hands of developers.&nbsp; </FONT><FONT face=Tahoma size=2>The Windows Presentation Foundation puts tremendous power in the hands of developers.</FONT></P>
<P><FONT face=Tahoma size=2>How might they be put together?&nbsp; I think I have an approach that I'd like to share which could help in many cases.&nbsp; It works like this:</FONT></P>
<P><FONT face=Tahoma size=2></FONT>&nbsp;</P>
<P><FONT face=Tahoma size=2>1. Use the MapPoint Web Service SDK to generate a map</FONT></P>
<P><FONT face=Tahoma size=2>2. Download the map and assign it as the source of a WPF Image</FONT></P>
<P><FONT face=Tahoma size=2>3. Place a transparent (or semi-transparent) Canvas over the Image</FONT></P>
<P><FONT face=Tahoma size=2>4. Use client side transformations to add objects to the Canvas in the appropriate location</FONT></P>
<P><FONT face=Tahoma size=2></FONT>&nbsp;</P>
<P><FONT face=Tahoma size=2>You'll need to geocode the latitude and longitude of every object you add to the Canvas (the MapPoint Web Service SDK has methods to do this), and you'll have get the client side transformations right to make this work (the MapPoint Web Service SDK has samples that show how to do this), but if you do, you'll have the complete power of WPF at your disposal.</FONT></P>
<P><FONT face=Tahoma size=2>In other words, the objects you plot on the map can be stylized and programmed however you like.</FONT></P>
<P><FONT face=Tahoma size=2>Not bad, eh?&nbsp; I'll post some code snippets once I get a little further along with this...</FONT></P>
<P><FONT face=Tahoma size=2></FONT>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Maps in Apps</title>
      <link>https://docs.microsoft.com/archive/blogs/jpelak/maps-in-apps</link>
      <pubDate>Fri, 01 Sep 2006 23:59:00 GMT</pubDate>
      <dc:creator><![CDATA[jpelak]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jpelak/2006/09/01/maps-in-apps/</guid>
      <description><![CDATA[When I first joined Microsoft, I was sent to help build an application for&nbsp;a large...]]></description>
      <content:encoded><![CDATA[<P><FONT face=Tahoma size=2>When I first joined Microsoft, I was sent to help build an application for&nbsp;a large telecommunications company which had some heavy-duty mapping requirements.&nbsp; This app needed to enable the display and design of undersea fiber optic cable networks.&nbsp; I had just been through my new-employee training, and thus had the following guidance and support to fall back on:</FONT></P>
<P><FONT face=Tahoma><FONT size=2>"don't mess up"</FONT></FONT></P>
<P><FONT face=Tahoma><FONT size=2>"lotsa luck"</FONT></FONT></P>
<P><FONT face=Tahoma size=2>Fortunately, I had a really great UX designer to work with, and even more fortunately, I had a good friend in the GIS business with a powerful ActiveX control that was just hitting its beta cycle.&nbsp; After about 9 months of intensive development to get all the clicks, layers, and transformations right, the result was an app that met the above requirements and enjoyed several good years in production (it might even still be in use.)</FONT></P>
<P><FONT face=Tahoma size=2>I later got to work on a GIS application (for the same telecommunications company) which connected maps to OLAP data, and had my first encounters with plotting geo-coded points on a map.&nbsp; I'm not sure if this app survived the telecomm meltdown earlier this decade, but it did at least enjoy a couple good years of production usage.</FONT></P>
<P><FONT face=Tahoma size=2>Since that time, I haven't had any GIS applications to work on, so I stood on the sidelines and watched the remarkable progress made by software industry in bringing interactive mapping into broad usage.&nbsp; I think it's time to get off the sidelines and back into being a GIS programmer.</FONT></P>
<P><FONT face=Tahoma size=2>Tonight, I registered for a MapPoint Web Service developer account (from the form on <A href="https://mappoint-css.partners.extranet.microsoft.com/MwsSignup/Eval2.aspx">https://mappoint-css.partners.extranet.microsoft.com/MwsSignup/Eval2.aspx</A>.)&nbsp; While I wait the 1 to 2 business days to receive my key, I'll have to satisifed with reading through the SDK documentation and samples (no, I don't get out much, but this is as good as it gets for me on a rainy holiday weekend.)</FONT></P>
<P><FONT face=Tahoma size=2>If you're an ISV looking to add features that could differentiate your products, I encourage you to check out MapPoint and Virtual Earth - there's quite a bit there, and it looks quite easy to implement and integrate.&nbsp; Just be sure to get your developer key before you try to get started.</FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>3rd Party Controls for WPF</title>
      <link>https://docs.microsoft.com/archive/blogs/jpelak/3rd-party-controls-for-wpf</link>
      <pubDate>Sat, 26 Aug 2006 09:14:00 GMT</pubDate>
      <dc:creator><![CDATA[jpelak]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jpelak/2006/08/26/3rd-party-controls-for-wpf/</guid>
      <description><![CDATA[In browsing around the Windows Vista developer center (http://msdn.microsoft.com/windowsvista), I...]]></description>
      <content:encoded><![CDATA[<P><FONT face=Tahoma size=2>In browsing around the Windows Vista developer center (</FONT><A href="http://msdn.microsoft.com/windowsvista"><FONT face=Tahoma size=2>http://msdn.microsoft.com/windowsvista</FONT></A><FONT face=Tahoma size=2>), I noticed the 3rd party control link on the WPF page.&nbsp; From that page (<A href="http://msdn.microsoft.com/winfx/downloads/presentation/">http://msdn.microsoft.com/winfx/downloads/presentation/</A>), you can access dowloads of the Infragistics Data Presenter and the Software FX ChartFX controls for WPF.</FONT></P>
<P><FONT face=Tahoma size=2>I've been working with both of these controls informally over the last few months, and it's quite impressive to see how these vendors have embraced WPF to produce high-quality components that make use of WPF as it was intended to be used.&nbsp; I hadn't realized that&nbsp;were publically available though, or I would've posted on this much sooner.</FONT></P>
<P><FONT face=Tahoma size=2>If you're a WPF enthusiast (like me), I encourage you to follow the download links and give these components a try.&nbsp; The versions I'm using are compatible with the June CTP builds of Vista and NetFX3, and can stylized and templatized to your liking - just start with the samples they provide and have at it.</FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>A New York minute...</title>
      <link>https://docs.microsoft.com/archive/blogs/jpelak/a-new-york-minute</link>
      <pubDate>Fri, 25 Aug 2006 22:01:00 GMT</pubDate>
      <dc:creator><![CDATA[jpelak]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jpelak/2006/08/25/a-new-york-minute/</guid>
      <description><![CDATA[I had a "New York Minute" yesterday - it went something like this.
I stepped out onto the Avenue of...]]></description>
      <content:encoded><![CDATA[<P><FONT face=Tahoma size=2>I had a "New York Minute" yesterday - it went something like this.</FONT></P>
<P><FONT face=Tahoma size=2>I stepped out onto the Avenue of the Americas into the pouring rain yesterday afternoon and began my hike downtown in search of some Szechuan dumplings.&nbsp; I had packed a rather large umbrella, and proceeded to pop it open, even though I knew that would make it a little tricky to dodge my fellow pedestrians at rush hour.</FONT></P>
<P><FONT face=Tahoma size=2>About a block into journey, a woman I had never seen before appeared next to me under my apparently-too-large-for-just-one umbrella.</FONT></P>
<P><FONT face=Tahoma size=2>Her: "Hi - mind if I share your umbrella?"</FONT></P>
<P><FONT face=Tahoma size=2>Me: "Uh..."</FONT></P>
<P><FONT face=Tahoma size=2>Her: "I have a job interview somewhere around here and don't want to get all soaked."</FONT></P>
<P><FONT face=Tahoma size=2>Me: "Uh..."</FONT></P>
<P><FONT face=Tahoma size=2>Her: "It's in the McGraw Hill building - it's right around here somewhere."</FONT></P>
<P><FONT face=Tahoma size=2>Me: "Uh..."</FONT></P>
<P><FONT face=Tahoma size=2>Her: "Oh - there it is gotta go - thanks!"</FONT></P>
<P><FONT face=Tahoma size=2>I immediately checked my pockets, and once I assured myself they still contained every thing they had&nbsp;just a short while&nbsp;ago, I yelled "Good luck!" as she ran across 6th Avenue.</FONT></P>
<P><FONT face=Tahoma size=2>Only in New York - where a "New York Minute" unfolds in about 5 or 6 seconds.</FONT></P>
<P><FONT face=Tahoma size=2>I don't know if she got the job, but if she did, I hope she's using the .NET Framework 3.0.</FONT></P>
<P><FONT face=Tahoma size=2></FONT>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Software as a Service Seminar - NYC - 5/3/2006</title>
      <link>https://docs.microsoft.com/archive/blogs/jpelak/software-as-a-service-seminar-nyc-532006</link>
      <pubDate>Mon, 24 Apr 2006 09:04:00 GMT</pubDate>
      <dc:creator><![CDATA[jpelak]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jpelak/2006/04/24/software-as-a-service-seminar-nyc-532006/</guid>
      <description><![CDATA[Software as a Service is a topic of great interest in the ISV industry of late.&nbsp; Because end...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana">Software as a Service is a topic of great interest in the ISV industry of late.&nbsp; Because end users increasingly demand a hosted option, many ISVs are assessing the ways in which their business models, technology and operations should evolve.&nbsp;&nbsp;</SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana">We have a seminar coming up in New York&nbsp;City</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p>&nbsp;on May 3rd that it's not too late to register for.&nbsp; If you're at all interested in this topic, I highly encourage you to attend - follow the link below or click on the graphic to get signed up.</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"><o:p>Hope to see you there!</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana">To register and for more details, go to: <A title=http://www.dynamicevents.com/GlobalSoftwareAsAServiceSeminar/ href="http://www.dynamicevents.com/GlobalSoftwareAsAServiceSeminar/">http://www.dynamicevents.com/GlobalSoftwareAsAServiceSeminar/</A></SPAN></P>]]></content:encoded>
    </item>
    <item>
      <title>A walk through WinFx (third of a series) - the joy of WCF endpoints</title>
      <link>https://docs.microsoft.com/archive/blogs/jpelak/a-walk-through-winfx-third-of-a-series-the-joy-of-wcf-endpoints</link>
      <pubDate>Sat, 22 Apr 2006 11:18:00 GMT</pubDate>
      <dc:creator><![CDATA[jpelak]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jpelak/2006/04/22/a-walk-through-winfx-third-of-a-series-the-joy-of-wcf-endpoints/</guid>
      <description><![CDATA[It's been a while since I posted on this this (does it still qualify as a series?), but I'll...]]></description>
      <content:encoded><![CDATA[<DIV class=postcontent><FONT face=Tahoma size=2>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">It's been a while since I posted on this this (does it still qualify as a series?), but I'll continue and in the hope that I'll be able to pick up the frequency.&nbsp; In the first postings in this series, I discussed how I'd like to build a small CRM-ish application to track activity with the ISVs I work with, and in the second I discussed how Dynamics CRM 3.0 could serve as the basis for such an application.&nbsp; I'd like to now discuss how WCF can be used to provide a simple endpoint to serve data entities up to consumers (such as WPF applications.)</SPAN><SPAN style="FONT-SIZE: 10pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">This week marked my first forays into WCF programming, and I was impressed by what I found.&nbsp; It wasn't the advanced features that made the impression though, but rather the simple basic things we all have to grapple with as developers and architects.&nbsp; As I mentioned, I'd like to use this application to track things like contacts, events, and locations in MSCRM, but I'd like to surface those entities through a WCF endpoint.&nbsp; That requires the definition of a Service Contract and a Data Contract.&nbsp; As services typically provide one or more operations and data entities typically consist of one or more members, I also had to define a set of Operation Contracts and Data Members to complete the implementation of my end point.<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">In WCF, this is simply a matter of using the </SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-bidi-font-family: Tahoma">System.Runtime.Serialization</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"> and </SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-bidi-font-family: Tahoma">System.ServiceModel</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"> namespaces and marking your data entities and service classes appropriately.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>To retrieve a list of locations for a given ISV from a WCF endpoint, I modeled it using code like the following:<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes">using</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"> System;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes">using</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"> System.Collections.Generic;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes">using</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"> System.Runtime.Serialization;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes">using</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"> System.Text;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes">using</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"> System.ServiceModel;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes">namespace</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"> IsvApp.ServicesLayer.Contracts<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes">{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>[DataContract]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: teal">Location<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>[DataMember]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: teal">Guid</SPAN> IsvId;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>[DataMember]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: teal">Guid</SPAN> LocationId;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>[DataMember]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">string</SPAN> Name;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>[DataMember]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">string</SPAN> Description;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>[DataMember]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">string</SPAN> Address1;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: green">// plus the usual, then...<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>[DataMember]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">double</SPAN> Latitude;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>[DataMember]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">double</SPAN> Longitude;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: green">// and a couple more, then...<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>[DataContract]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: teal">LocationFilter<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: green">// much like Location - you’ll see this in action below...<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>[DataContract]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: teal">Locations<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>[DataMember]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">int</SPAN> TotalLocationCount;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>[DataMember]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: teal">List</SPAN>&lt;<SPAN style="COLOR: teal">Locations</SPAN>&gt; LocationList;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>[ServiceContract]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">interface</SPAN> <SPAN style="COLOR: teal">ILocationSvc<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>[OperationContract]<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: teal">Locations</SPAN> GetLocations(LocationFilter filter);<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: teal">LocationSvc</SPAN> : <SPAN style="COLOR: teal">ILocationSvc<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: teal">Locations</SPAN> GetLocations(LocationFilter filter);<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #f2f2f2; MARGIN: 0in 0in 0pt; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes">}<o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">That’s all it took to specify a few non-trivial objects which could be easily transported across a remoting boundary and returned in aggregate, along with a simple interface and a service class to implement it.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>After running </SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-bidi-font-family: Tahoma">svcutil.exe</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"> and adding the proxy and configuration information, I could test my endpoint by building a console application similar to the following:<o:p></o:p></SPAN></P><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt">
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt">using</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"><FONT color=#000000> System;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt">using</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"><FONT color=#000000> System.Collections.Generic;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt">using</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"><FONT color=#000000> System.Text;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt">using</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"><FONT color=#000000> IsvApp.ServicesLayer.Contracts<o:p></o:p>;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"><o:p><FONT color=#000000>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; COLOR: blue; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt">namespace</SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"><FONT color=#000000> isvapptest</FONT></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"><FONT color=#000000>{<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"><SPAN style="mso-spacerun: yes"><FONT color=#000000>&nbsp;&nbsp;&nbsp; </FONT></SPAN><SPAN style="COLOR: blue">class</SPAN><FONT color=#000000> </FONT><SPAN style="COLOR: teal">Program<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"><FONT color=#000000><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></FONT></SPAN></P></SPAN><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 11.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">static</SPAN> <SPAN style="COLOR: blue">void</SPAN> Main(<SPAN style="COLOR: blue">string</SPAN>[] args)<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: green">// create the WCF service proxy<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: teal">LocationSvcProxy</SPAN> locationSvc = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: teal">LocationSvcProxy</SPAN>();<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: green">// create the filter object<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: teal">LocationFilter</SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>filter<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>= <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: teal">LocationFilter</SPAN>();<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: green">// set filter parameters to constrain result set<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>filter.OrderColumnName <SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN>= <SPAN style="COLOR: navy">"isv_name"</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>filter.OrderAscending<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN>= <SPAN style="COLOR: blue">true</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>filter.GetTotalCount<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>= <SPAN style="COLOR: blue">true</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;</SPAN>filter.GetTotalCountOnly = <SPAN style="COLOR: blue">true</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>filter.StartIndex<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN>= <SPAN style="COLOR: fuchsia">0</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>filter.MaxLocationCount<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>= <SPAN style="COLOR: fuchsia">10</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: green">// use WCF service proxy to fetch data<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: teal">Locations</SPAN> locations = locationSvc.GetLocations(filter);<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: teal">Console</SPAN>.WriteLine(<SPAN style="COLOR: navy">"locations.TotalLocationCount = {0}"</SPAN>,<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>locations.TotalLocationCount);<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: green">// iterate over data<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">int</SPAN> i = <SPAN style="COLOR: fuchsia">0</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">foreach</SPAN> (<SPAN style="COLOR: teal">Location</SPAN> location <SPAN style="COLOR: blue">in</SPAN> locations.LocationList)<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: teal">Console</SPAN>.WriteLine(<SPAN style="COLOR: blue">string</SPAN>.Format(<SPAN style="COLOR: navy">"Location[{0}]: {1}"</SPAN>,<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>filter.StartIndex,<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>location.ToString()));<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: green">// rest of code...then<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">return</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="BACKGROUND: #eeece1; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Lucida Console'; mso-no-proof: yes; mso-bidi-font-size: 12.0pt">}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-size: 12.0pt">This is a relatively straightforward usage pattern for fetching a set of data from a WCF endpoint which leaves all the transport, authentication, authorization, and even federation cognizance out of both the client and server code.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>If you’ve backed off of attempting using complex types over web services or lamented about all the type system tricks you had to employ to do so, I highly encourage you to take a look at WCF and give a pattern like this a shot.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>I think you’ll be impressed as well.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-size: 12.0pt"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-size: 12.0pt">In my next posting, I’ll attempt to illustrate how this could be bound to a </SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Lucida Console'; mso-bidi-font-family: Tahoma; mso-bidi-font-size: 12.0pt">ListView</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-size: 12.0pt"> in a WPF application.<o:p></o:p></SPAN></P>
<P></FONT>&nbsp;</P></DIV>]]></content:encoded>
    </item>
    <item>
      <title>In the air again...</title>
      <link>https://docs.microsoft.com/archive/blogs/jpelak/in-the-air-again</link>
      <pubDate>Tue, 18 Apr 2006 08:11:00 GMT</pubDate>
      <dc:creator><![CDATA[jpelak]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jpelak/2006/04/18/in-the-air-again/</guid>
      <description><![CDATA[My well-traveled laptop, now loaded with WPF demos on Vista, is on its way to my esteemed colleague...]]></description>
      <content:encoded><![CDATA[<P><FONT face=Tahoma size=2>My well-traveled laptop, now loaded with WPF demos on Vista, is on its way to my esteemed colleague <A HREF="/john_wiese">John Wiese</A>.</FONT></P>
<P><FONT face=Tahoma size=2>I trust John will take good care of it and return it to me shortly.&nbsp; If not, I trust he'll ghostwrite a series of killer blog postings under my name and then ship me his new laptop when it arrives.&nbsp; :)</FONT></P>
<P><FONT face=Tahoma size=2>Good luck John!</FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>Ribbons and Task Panes in Office 2007</title>
      <link>https://docs.microsoft.com/archive/blogs/jpelak/ribbons-and-task-panes-in-office-2007</link>
      <pubDate>Sun, 09 Apr 2006 20:32:00 GMT</pubDate>
      <dc:creator><![CDATA[jpelak]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/jpelak/2006/04/09/ribbons-and-task-panes-in-office-2007/</guid>
      <description><![CDATA[Two of the major enhancements to Office 2007 are the addition of ribbons and task panes for...]]></description>
      <content:encoded><![CDATA[<P><FONT face=Tahoma size=2>Two of the major enhancements to Office 2007 are the addition of ribbons and task panes for developers adding on to Word, Excel, PowerPoint, Outlook, and other Office applications.&nbsp; Together, they represent a major opportunity for ISVs to leverage the productivity tools many millions of users are familiar with in their products.</FONT></P>
<P><FONT face=Tahoma size=2>If you're fortunate enough to have access to either the Beta 1 or the Beta 1 Technical Refresh builds of Office 2007, you're probably already familiar with the power ribbons and task panes bring.&nbsp; If you've been playing with the pre-release builds of the Visual Studio Tools for Office 2007, you're familiar with the accessibility to these features our forthcoming development tools provide.</FONT></P>
<P><FONT face=Tahoma size=2>All that adds up to an opportunity to provide deep and natural integration with Office and your applications, which in turn provides an opportunity to surf the coming Office/Vista wave.&nbsp; How?</FONT></P>
<UL>
<LI><FONT face=Tahoma size=2>If you currently export your data to Excel, consider exporting to Excel's OpenXML file format and use a ribbon as the means to make that happen</FONT></LI>
<LI><FONT face=Tahoma size=2>If you currently use Word mail merges, consider generating documents in Word's OpenXML file format and use a ribbon as the means to make that happen</FONT></LI>
<LI><FONT face=Tahoma size=2>If you currently need to walk users through a multi-stage process or provide handy access to contextual data, consider using a task pane to provide the UI</FONT></LI></UL>
<P><FONT face=Tahoma size=2>It's a bit to get your mind around, but I think it's worth the effort.</FONT></P>]]></content:encoded>
    </item>
  </channel>
</rss>