<?xml version="1.0" encoding="utf-16"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <atom:link rel="self" type="application/rss+xml" href="http://centrolutions.com/feed" />
    <title>Centrolutions Blog</title>
    <link>http://centrolutions.com/feed</link>
    <description>Software Centered on Solutions</description>
    <copyright>© 2019 Centrolutions LLC</copyright>
    <language>en</language>
    <item>
      <title>Four Things You Should Know Before Starting a Software Project</title>
      <link>https://www.centrolutions.com/blog/2019/11/07/Four-Things-You-Should-Know-Before-Starting-a-Software-Project</link>
      <description>&lt;p&gt;Creating custom software can add incredible value to your business by automating processes or easing pain points that keep your team from working at full capacity. Taking on a project like building a piece of software can be a daunting task, however, without doing a few things prior to starting.&lt;/p&gt;&lt;p&gt;Obvious things like finding a software engineer, picking a platform, picking a technology, and even more technical details will need to be decided. You will also need to put a good amount of thought into everything you want the software to do. Before all of that though, you need to think about these four things so your project can be successful. These four things are so important, you should stop now, and write them down before you put any more effort into planning your project.&lt;/p&gt;&lt;h2&gt;&lt;/h2&gt;&lt;h2&gt;Know Your Goals&lt;/h2&gt;&lt;p&gt;A successful project will have clearly defined goals. You should not only think about what you want your custom software to do, but also think about the problem you want the software to solve. To identify your goals and bring clarity to this part of your project plan, it is often helpful to ask yourself a few questions.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;What process is taking too long or what pain point are you trying to eliminate?&lt;/li&gt;&lt;li&gt;Is your team unable to do something fast enough because it’s not automated?&lt;/li&gt;&lt;li&gt;Is there a unique solution your software would bring to an industry or group of people? If so, what is it and who are they?&lt;/li&gt;&lt;li&gt;Why would someone use your software?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;As you’re defining your goals, you should be as specific as possible. Don’t use general terms like “make importing orders into QuickBooks easier.” Instead, use details like, “increase the number of orders we can put in QuickBooks from 25 to at least 100 per day.” Using details like that will help you greatly as you define the second piece of your project plan.&lt;/p&gt;&lt;h2&gt;Know Success&lt;/h2&gt;&lt;p&gt;Success shouldn’t be a feeling or a subjective goal. Once you have your goals specifically defined, this step is easy. The main question to ask yourself when picking your definition of success is, “when the project is done, what goals must be met and which goals are less important?” It may be helpful to look at your list of goals and rank their importance on a number scale of some sort. For instance, put “1” next to your most important, “2” next to the goals that are less important, and “3” next to those goals that are “nice-to-haves.” Then, your success statement may be something like, “this project will be successful when all of the #1 and #2 goals have been achieved.” Alternatively, you may not have any optional goals and your success statement may be something like, “this project will be a success when all of these goals are met.”&lt;/p&gt;&lt;p&gt;When you define success in this way, you will have a much better sense for the last two items in your project plan.&lt;/p&gt;&lt;h2&gt;Know Your Timeline&lt;/h2&gt;&lt;p&gt;Now that your project plan includes your goals and a clear definition of success, you’ll need to consider what a reasonable timeline will look like. Typically, the temptation is put an ASAP stamp on your project and leave it at that. Of course, most of the time, this is unreasonable and sets your project up for failure. Failure would come – not because you can’t finish a project in a hurry, but because it puts no boundaries on your project and leaves room for the project to drag on beyond reason.&lt;/p&gt;&lt;p&gt;If you have never run a software project, you may not have a good feel for how long development may actually take. However, you can put things in your timeline before an engineer gets involved. If you have deadlines, appointments, or other projects that are dependent upon your software being complete, you should write those down. After you’ve cataloged your timeline restrictions, you can get a software engineer involved to see if your timeline is reasonable.&lt;/p&gt;&lt;p&gt;Remember, you define a timeline so your project does not drag on. If your timeline is not met or it appears that it will not be met, you can use that as a key performance indicator (KPI) and either make adjustments or re-evaluate the project as a whole. The next KPI and the final item on your project plan is your budget.&lt;/p&gt;&lt;h2&gt;Know Your Budget&lt;/h2&gt;&lt;p&gt;Just like defining your timeline, a budget may be difficult to get a feel for if you haven’t run a software project before. However, just like your timeline, you likely have some restrictions you can apply to your budget. It is often useful to think of the possible return on investment you may see from the software you want to create. For instance, if your software can save your team 3 hours of work per day and you pay your employees an hourly rate, it is easy to calculate how much money you may save in labor. That, of course, is a very simplistic approach to ROI, but estimating a return of some sort will often give you a feel for the top end of your budget. If you estimate a return of $5,000 annually for instance, and your software engineer estimates a cost of $10,000, you will need to decide if you can wait for 2 years before you see a financial return on your investment.&lt;/p&gt;&lt;h2&gt;Final Thoughts&lt;/h2&gt;&lt;p&gt;A successful project will start with goals, a definition of success, a timeline, and a budget. Once you have all four of those things, you’re ready to start a conversation with a software engineer. I should mention that while you are in the planning phase of your project, you should expect these four things to undergo slight adjustments before the project begins. For instance, you may need to re-define success by eliminating a subset of goals so you can meet your timeline and budget. Alternatively, you may need to adjust your budget to ensure success by meeting all of your goals. Small changes should be expected. However, once the project starts, you should strive to stay as close to the plan as possible.&lt;/p&gt;&lt;p&gt;After the project starts, for instance, it would be ill-advised to add goals to your project as that would likely cascade and cause your timeline or budget to increase. Be sure your plan is sound before you start and stick to it!&lt;/p&gt;&lt;p&gt;If you have any questions or comments about this, please leave them below. If you would like to start a software project, please email me using the form on this website.&lt;/p&gt;&lt;p&gt;Thanks for reading!&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Business</category>
      <category>General</category>
      <guid>https://www.centrolutions.com/blog/2019/11/07/Four-Things-You-Should-Know-Before-Starting-a-Software-Project</guid>
      <pubDate>Thu, 07 Nov 2019 03:47:00 GMT</pubDate>
    </item>
    <item>
      <title>New Website Launched</title>
      <link>https://www.centrolutions.com/blog/2019/11/07/New_Website_Launched</link>
      <description>&lt;p&gt;Have a look at the new website! I'm in the process of migrating old blog articles to the new site and fixing old links. Let me know if you find something broken.&lt;/p&gt;&lt;p&gt;Thanks!&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Centrolutions</category>
      <category> Development</category>
      <guid>https://www.centrolutions.com/blog/2019/11/07/New_Website_Launched</guid>
      <pubDate>Thu, 07 Nov 2019 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Centrolutions Becomes a BizSpark Startup</title>
      <link>https://www.centrolutions.com/blog/2012/09/25/Centrolutions-Becomes-a-BizSpark-Startup</link>
      <description>&lt;p&gt;I am excited to announce that Centrolutions has become a BizSpark startup! About two months ago, I made the decision to strike out on my own and turn Centrolutions into more than just a hobby. For a developer, this can be a daunting proposition since the tools and systems used to write software can be very expensive. Not to mention, finding funding for projects, connecting with other startups for advice, and marketing a startup can be more than overwhelming. That’s where the Microsoft BizSpark program comes in.&lt;/p&gt;  &lt;p&gt;Through BizSpark, Microsoft provides tools and connections for the startup community. The resources they provide will prove to be invaluable as I get on my feet. If you have a startup or are thinking of getting into one, I highly recommend Microsoft’s program. I am grateful for their help and I’m excited for the future.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Business</category>
      <guid>https://www.centrolutions.com/blog/2012/09/25/Centrolutions-Becomes-a-BizSpark-Startup</guid>
      <pubDate>Tue, 25 Sep 2012 12:54:23 GMT</pubDate>
    </item>
    <item>
      <title>NuGet and TFS 2010 Automated Build</title>
      <link>https://www.centrolutions.com/blog/2012/07/05/NuGet-and-TFS-2010-Automated-Build</link>
      <description>&lt;p&gt;If you don't use NuGet for your Visual Studio projects, you should. &lt;a href="http://nuget.org/"&gt;Go download it, now&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you do use NuGet and you want to automate your builds with TFS 2010, it's super easy to enable it:&lt;/p&gt;
&lt;p&gt;[more]&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Solution Explorer, right-click on the solution&lt;/li&gt;
&lt;li&gt;From the context menu, choose "Enable NuGet Package Restore"&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;One hickup you might encounter is that when your automated build tries to build the solution, you may get the following error:&lt;/p&gt;
&lt;p&gt;C:\Builds\1\MyProject\Main Release\Sources\MyProject\ProjectName\.nuget\nuget.targets (76): Package restore is disabled by default. To give consent, open the Visual Studio Options dialog, click on Package Manager node and check 'Allow NuGet to download missing packages during build.' You can also give consent by setting the environment variable 'EnableNuGetPackageRestore' to 'true'.&lt;/p&gt;
&lt;p&gt;The newer versions of NuGet requires explicit permission to restore packages. Usually, on your development machine, you could enable this through Visual Studio's options (per the instructions in the error message). However, on a build server, you need to add the environment variable. To do this, log into the build server and do the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click Start and right-click on "Computer"&lt;/li&gt;
&lt;li&gt;Choose "Properties" from the context menu&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Choose "Advanced System Settings" from the System window.&lt;/li&gt;
&lt;li&gt;Choose the "Advanced" tab in the System Properties window and click the "Environment Variables" button.&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;In the System Variables section, click the "New..." button.&lt;/li&gt;
&lt;li&gt;Enter "EnableNuGetPackageRestore" for the "Variable name" field&lt;/li&gt;
&lt;li&gt;Enter "true" for the "Variable value" field and click the OK button.&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Lastly, restart the TFS build service and retry your build&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After all of that, your build should now be able to download the NuGet packages it needs.&lt;/p&gt;
&lt;p&gt;Happy coding!&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>TFS</category>
      <category>NuGet</category>
      <guid>https://www.centrolutions.com/blog/2012/07/05/NuGet-and-TFS-2010-Automated-Build</guid>
      <pubDate>Thu, 05 Jul 2012 19:28:00 GMT</pubDate>
    </item>
    <item>
      <title>A Developer’s Free Time</title>
      <link>https://www.centrolutions.com/blog/2012/04/15/A-Developer%E2%80%99s-Free-Time</link>
      <description>&lt;p&gt;Lately, I’ve been in a bit of a self-reflective mode. So, this blog post is going to be a little different than normal. Usually, I try to post about very technical / programming things. However, due to some things at work that I probably shouldn’t air in public, I’ve started to think about what I put my energy into at home and at work.&lt;/p&gt;  &lt;p&gt;Like many software engineers, I really, really like writing software. It doesn’t matter what the software does. So long as it solves a problem, I’m happy to work on it. This also means that my hobby is (drum roll please) -- writing software. So, at work, I write software. I come home and I write software. It’s part of loving the creative process and having a bit of a one-track mind. It’s part of being compelled to learn something new and fulfill the ever-so-eternal quest to improve on existing processes.&lt;/p&gt;  &lt;p&gt;If that describes you, I would consider you a compulsive programmer. I say this with the most positive meaning of the word and with all due respect. Your compulsion is what probably makes you good at your job. After all, remember, I’m talking about myself, too. As a side, here’s a great example of “&lt;a href="http://venturebeat.com/2012/04/15/unemployed-game-designer-solar-system-app/" target="_blank"&gt;one of us&lt;/a&gt;.”&lt;/p&gt;  &lt;p&gt;If you can’t really relate, you probably already know what I’m going to say in the rest of this post. I would consider you a less-than-compulsive programmer. You are no less of a programmer -- I’m sure you’re very good at your job, too. You are just not driven to constantly run in the same mode, all of the time.&lt;/p&gt;  &lt;p&gt;[more]&lt;/p&gt;  &lt;h2&gt;The Unimaginable&lt;/h2&gt;  &lt;p&gt;So, let’s say your hobby is writing software. Cool! Now, let’s say you get a job writing software. In essence, you’ve turned your hobby into a career that you love. Cool! You are one of the privileged few whose &lt;em&gt;passion &lt;/em&gt;is also their &lt;em&gt;career&lt;/em&gt;. People all over the world long for what you have. There are millions and millions of people that go to work at a j-o-b. They do their job with diligence, but it doesn’t cause a spark to go off in their soul. Some are even stuck in a soul-killing j-o-b that they should really find a way out of, altogether. You, however, &lt;em&gt;get to&lt;/em&gt; go to work. You &lt;em&gt;get to&lt;/em&gt; work on cool and interesting things. You &lt;em&gt;get to&lt;/em&gt; create!&lt;/p&gt;  &lt;p&gt;Now, imagine someone told you: “you’re not allowed to write software at home any more.” The only time you get to commit to your passion is from 8am through 5pm. That’s it. Would you still love your job? Would you still be just as passionate about what you do during the day, as you were before?&lt;/p&gt;  &lt;p&gt;That’s an extreme example, of course, but think about it for a minute. I found myself thinking in those terms, recently. Really, the question boiled down to: if I could do anything else during my free time, that wasn’t computer-related, what would it be? The answer I came up with was, “I don’t know.”&lt;/p&gt;  &lt;p&gt;Right now, those less-than-compulsive programmers that are reading this should probably take a moment and pick your jaw up off of the floor. To you, that was a ludicrous answer to such a simple question. Alternatively, if you count yourself amongst the compulsive programmers, you might come to the same conclusion I did: I just don’t do much other than learn, read, use, and write software.&lt;/p&gt;  &lt;p&gt;Of course, I play with the kids, do yard work, take care of the house, and all of the other “normal” things you might expect, but when I’ve got &lt;em&gt;really&lt;/em&gt; free time that isn’t being used for anything else, I levitate towards the computer. It’s just so fun to sit down and create something. Imagine, though, if that was taken away.&lt;/p&gt;  &lt;h2&gt;&lt;/h2&gt;  &lt;h2&gt;The Void&lt;/h2&gt;  &lt;p&gt;In case you’re wondering, I have not been told that I can’t write software at home. That was just an example to get you thinking. The principle remains, though: it seems that my life is not as well rounded as it could be. My life needs to be defined by more than software development.&lt;/p&gt;  &lt;p&gt;I was introduced to computers during my formative years. I saw them as a challenge, at first. Like many, I was intrigued by the variety of things they could do and thrilled at how I could make them do things most people couldn’t -- by programming them. I went to college to learn more about computers. I found jobs related to computers. I was and still am a computer geek. Looking back, I’ve been on a single track for quite some time.&lt;/p&gt;  &lt;p&gt;Ultimately, the problem is this: because I have spent so much time doing this one thing -- and it’s all I do, I fear there is a strong possibility that I will get burned out on software development. Then, not only would I have lost my passion; I would be left with nothing afterwards.&lt;/p&gt;  &lt;h2&gt;Is it a Problem That Needs a Solution?&lt;/h2&gt;  &lt;p&gt;When you’re looking at starting a new programming project, one of the first things you should ask yourself is: does the problem warrant a software solution? Perhaps the problem could be solved in another way (a change of process, for example). Maybe it doesn’t require a new piece of software after all. However, if you think a new project is needed, then you can figure out what that new piece of software will look like.&lt;/p&gt;  &lt;p&gt;I’ve come to the personal conclusion that this problem does require a solution. What does the solution look like? I’m not entirely sure. For now, I’m going to try to solve it with a new hobby. Is that the whole solution? I’m not sure, but I’m going to try it out. I’ll prototype something and see how it goes.&lt;/p&gt;  &lt;p&gt;What does your solution look like? Maybe you’re already solving this problem. Either way, I would love to hear your ideas. I don’t usually request comments, but if you would leave your feedback here or tweet me (&lt;a href="http://twitter.com/centrolutions" target="_blank"&gt;@centrolutions&lt;/a&gt; or #HobbiesForDevs) I would really like to hear your ideas.&lt;/p&gt;  &lt;p&gt;If you’re a compulsive programmer and find yourself in the same boat I did, I encourage you to think about what life would look like without software development. What would you do? Do you see a burnout coming? Take a moment to examine yourself. I think you’ll be better for it.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>General</category>
      <guid>https://www.centrolutions.com/blog/2012/04/15/A-Developer’s-Free-Time</guid>
      <pubDate>Sun, 15 Apr 2012 21:00:00 GMT</pubDate>
    </item>
    <item>
      <title>REST, WCF 4, Forms Authentication, and Custom Clients (Part 3 of 3)</title>
      <link>https://www.centrolutions.com/blog/2012/02/10/REST-WCF-4-Forms-Authentication-and-Custom-Clients-(Part-3-of-3)</link>
      <description>&lt;p&gt;In &lt;a href="http://www.centrolutions.com/blog/post/2011/12/28/REST-WCF-4-Forms-Authentication-and-Custom-Clients-(Part-1-of-3).aspx" target="_blank"&gt;the first&lt;/a&gt; and &lt;a href="http://www.centrolutions.com/blog/post/2011/12/31/REST-WCF-4-Forms-Authentication-and-Custom-Clients-(Part-2-of-3).aspx" target="_blank"&gt;second parts&lt;/a&gt; of this post, I described what makes a REST service different from a SOAP service and how to use WCF to create one. In this post, we’ll look at what a REST client may look like and add some security around the service.&lt;/p&gt;  &lt;h2&gt;Security&lt;/h2&gt;  &lt;p&gt;In most line-of-business services, some sort of security system is usually required to prevent unauthorized access to the service’s data. One of the easiest ways to accomplish this is to use the ASP.NET Membership Provider and its associated services. In our example, I’ll be using the NuGet package called “ErikEJ.SqlCeMembership&amp;quot; to quickly create a database of users; without a full SQL Server instance. Once the NuGet package is installed, build the project and navigate to Project &amp;gt; ASP.NET Configuration to setup your users. Make sure to create at least one group and one user. I’ve called my group “Users” and my user, “user1.”&lt;/p&gt;  &lt;p&gt;[more]&lt;/p&gt;  &lt;p&gt;On the Customer Service, you should add the PrincipalPermission attribute to the methods you want to protect from unauthorized access and demand the user be a member of your role.&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; [PrincipalPermission(SecurityAction.Demand, Role = &lt;span style="color: #006080"&gt;&amp;quot;Users&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; Customer GetCustomer(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; customerId)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; _Customers.Where(c =&amp;gt; c.CustomerId == customerId).SingleOrDefault();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Additionally, you need to add the AspNetCompatibilityRequirements attribute to the service class and require compatibility. Along with that, you will need to assign the user from the http context, to the current thread’s current principal; in the constructor of the service.&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; CustomerService : ICustomerService&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; CustomerService()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         Thread.CurrentPrincipal = HttpContext.Current.User;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; ...&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;If you want to know more about the ASP Membership Provider and associated services, you should visit &lt;a href="http://msdn.microsoft.com/en-us/library/ms731049.aspx" target="_blank"&gt;msdn.microsoft.com/en-us/library/ms731049.aspx&lt;/a&gt; to learn about the basics.&lt;/p&gt;

&lt;p&gt;After your users are setup, you need to create a service your clients can use to authenticate with. ASP.NET has a service, specifically for this, but you have to enable it. To do this, make the following changes to the Web.config file:&lt;/p&gt;

&lt;p&gt;Add&lt;/p&gt;

&lt;p&gt;
  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
    &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;service&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;System.Web.ApplicationServices.AuthenticationService&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;behaviorConfiguration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;AuthenticationServiceTypeBehaviors&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;endpoint&lt;/span&gt; &lt;span style="color: #ff0000"&gt;contract&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;System.Web.ApplicationServices.AuthenticationService&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;         &lt;span style="color: #ff0000"&gt;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;basicHttpBinding&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;         &lt;span style="color: #ff0000"&gt;bindingConfiguration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;userHttp&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         &lt;span style="color: #ff0000"&gt;bindingNamespace&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://asp.net/ApplicationServices/v200&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;service&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;to system.serviceModel / services.&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;bindings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;webHttpBinding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;security&lt;/span&gt; &lt;span style="color: #ff0000"&gt;mode&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;TransportCredentialOnly&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;webHttpBinding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;basicHttpBinding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;binding&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;userHttp&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;security&lt;/span&gt; &lt;span style="color: #ff0000"&gt;mode&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;None&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;binding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;basicHttpBinding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;bindings&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;to system.serviceModel and&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;behavior&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;AuthenticationServiceTypeBehaviors&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;serviceMetadata&lt;/span&gt; &lt;span style="color: #ff0000"&gt;httpGetEnabled&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;behavior&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;to serviceBehaviors.&lt;/p&gt;

&lt;p&gt;Also, add&lt;/p&gt;

&lt;p&gt;
  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
    &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;system.web.extensions&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;scripting&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;webServices&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;authenticationService&lt;/span&gt; &lt;span style="color: #ff0000"&gt;enabled&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;requireSSL&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;false&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;webServices&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;scripting&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;system.web.extensions&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;to the &amp;lt;configuration&amp;gt; root. Please note the the requireSSL attribute is set to false. In a production environment, I highly recommend you set this to true and use an SSL certificate to protect your users’ credentials.&lt;/p&gt;

&lt;p&gt;Add a new item to the web project by choosing “Text File” and name it “Authentication.svc&amp;quot; or something similar that ends with the .svc extension. Open the new file and add the following to it:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &amp;lt;%@ ServiceHost Language=&lt;span style="color: #006080"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     Service=&lt;span style="color: #006080"&gt;&amp;quot;System.Web.ApplicationServices.AuthenticationService&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     Factory=&lt;span style="color: #006080"&gt;&amp;quot;System.Web.ApplicationServices.ApplicationServicesHostFactory&amp;quot;&lt;/span&gt; %&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h2&gt;&lt;/h2&gt;

&lt;h2&gt;The Client&lt;/h2&gt;

&lt;p&gt;Next, we’re going to create a consumer for our service. To start, create a new project and add a service reference to the new Authentication.svc service.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_22.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_22.png" width="244" height="198" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As a client, your application will need to keep track of the authentication cookie that is returned from the authentication service. Normally, this type of thing (cookie management) is taken care of by the browser, but since we’re running outside of the browser, we have to explicitly manage cookies.&lt;/p&gt;

&lt;p&gt;The methods you need to pay attention to, on the authentication service, are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Login(string username, string password, string customCredential, bool isPersistent)&lt;/li&gt;

  &lt;li&gt;IsLoggedIn()&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first time you call the authentication service, you need to log in and get a cookie, like this:&lt;/p&gt;

&lt;p&gt;
  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
    &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; OperationContextScope(authService.InnerChannel))&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         IsLoggedIn = authService.Login(username, password, customCredential, isPersistent);&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         Cookies = GetCookies(OperationContext.Current);&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;catch&lt;/span&gt; (EndpointNotFoundException enfe)&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

      &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/p&gt;

&lt;p&gt;After you have an authentication cookie, you should store it, for later use. The GetCookies method is shown below, along with the SetCookies method, which sets a cookie on a service client, so the next call to the service is seen as coming from an authenticated user.&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; CookieContainer GetCookies(OperationContext operationContext)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     HttpResponseMessageProperty httpResponseProperty =&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     (HttpResponseMessageProperty)operationContext.IncomingMessageProperties[HttpResponseMessageProperty.Name];&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (httpResponseProperty != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         CookieContainer cookieContainer = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; CookieContainer();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; header = httpResponseProperty.Headers[HttpResponseHeader.SetCookie];&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (header != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;             cookieContainer.SetCookies(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;@&amp;quot;http://someuri.tld&amp;quot;&lt;/span&gt;), header);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; cookieContainer;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; SetCookies(OperationContext oc, CookieContainer cookieContainer)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;     HttpRequestMessageProperty httpRequestProperty = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (oc.OutgoingMessageProperties.ContainsKey(HttpRequestMessageProperty.Name))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;         httpRequestProperty =&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt;             oc.OutgoingMessageProperties[HttpRequestMessageProperty.Name]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; HttpRequestMessageProperty;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum30"&gt;  30:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (httpRequestProperty == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum31"&gt;  31:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum32"&gt;  32:&lt;/span&gt;         httpRequestProperty = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; HttpRequestMessageProperty();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum33"&gt;  33:&lt;/span&gt;         oc.OutgoingMessageProperties.Add(HttpRequestMessageProperty.Name,&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum34"&gt;  34:&lt;/span&gt;             httpRequestProperty);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum35"&gt;  35:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum36"&gt;  36:&lt;/span&gt;     httpRequestProperty.Headers.Add(HttpRequestHeader.Cookie,&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum37"&gt;  37:&lt;/span&gt;         cookieContainer.GetCookieHeader(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Uri(&lt;span style="color: #006080"&gt;@&amp;quot;http://someuri.tld&amp;quot;&lt;/span&gt;)));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum38"&gt;  38:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h2&gt;Calling the REST service&lt;/h2&gt;

&lt;p&gt;The simplest way to call a rest service is with the HttpWebRequest class. It has a very simple method to get an XML stream that can be passed into a serializer. The following code demonstrates how to retrieve an object from the XML stream returned by the HttpWebRequest.&lt;/p&gt;





&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; T ExecuteTwoWayRequest&amp;lt;T&amp;gt;(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; serviceUrl, HttpMethod method, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; responseDefaultNamespace = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #008000"&gt;//setup the request&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     var request = CreateRequest(serviceUrl, method);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     &lt;span style="color: #008000"&gt;//retrieve the response&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     var responseSerializer = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlSerializer(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(T), responseDefaultNamespace);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     var response = request.GetResponse();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     T result = (T)responseSerializer.Deserialize(response.GetResponseStream());&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; HttpWebRequest CreateRequest(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; serviceUrl, HttpMethod method)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     var request = (HttpWebRequest)HttpWebRequest.Create(serviceUrl);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.SecurityManager.AddSecurity(request);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     request.Method = method.ToString();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;     request.ContentType = &lt;span style="color: #006080"&gt;&amp;quot;text/xml&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; request;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;To retrieve a customer from the service (with the GetCustomer method), you need to create a representation of the customer; on the client side. For our trivial example, the customer may look like this:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Customer&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; CustomerId { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; FirstName { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; LastName { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;To retrieve the customer, use the following code:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; Customer GetCustomer(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; id)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     var result = &lt;span style="color: #0000ff"&gt;base&lt;/span&gt;.ExecuteTwoWayRequest&amp;lt;Customer&amp;gt;(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #006080"&gt;&amp;quot;{0}?id={1}&amp;quot;&lt;/span&gt;, ServiceAddress, id), HttpMethod.GET, &lt;span style="color: #006080"&gt;&amp;quot;http://schemas.datacontract.org/2004/07/RESTDatabaseService&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;In this part of the series, we saw how to add security to a REST service and how to create a client that authenticates and uses the secure REST service. You can &lt;a href="http://centrolutions.com/downloads/RESTDatabaseService.zip" target="_blank"&gt;download the complete code&lt;/a&gt; for the service and the client for a more complete example.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>WCF</category>
      <category>REST</category>
      <guid>https://www.centrolutions.com/blog/2012/02/10/REST-WCF-4-Forms-Authentication-and-Custom-Clients-(Part-3-of-3)</guid>
      <pubDate>Fri, 10 Feb 2012 05:16:00 GMT</pubDate>
    </item>
    <item>
      <title>REST, WCF 4, Forms Authentication, and Custom Clients (Part 2 of 3)</title>
      <link>https://www.centrolutions.com/blog/2012/01/01/REST-WCF-4-Forms-Authentication-and-Custom-Clients-(Part-2-of-3)</link>
      <description>&lt;p&gt;In &lt;a href="http://www.centrolutions.com/blog/post/2011/12/28/REST-WCF-4-Forms-Authentication-and-Custom-Clients-(Part-1-of-3).aspx" target="_blank"&gt;the first part of this post&lt;/a&gt;, I discussed REST and how it compares to SOAP-based services. In this part, we’ll figure out how to create a REST service with WCF and what it takes to start thinking in a “RESTful” way when designing a REST service.&lt;/p&gt;  &lt;p&gt;[more]&lt;/p&gt;  &lt;h2&gt;Design and Planning&lt;/h2&gt;  &lt;p&gt;A lot of services are used for basic CRUD operations. Create, Retrieve, Update, and Delete are tasks that any line-of-business service is going to need to perform. With a SOAP service, you might layout your service methods like this:&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; [ServiceContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; ICustomerService&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;         [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         ServiceResponse&amp;lt;Customer&amp;gt; AddCustomer(Customer cust);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         IEnumerable&amp;lt;Customer&amp;gt; SearchCustomers(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; searchTerm, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; page, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; recordsPerPage);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         Customer GetCustomer(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; customerId);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;         [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         ServiceResponse&amp;lt;Customer&amp;gt; UpdateCustomer(Customer cust);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         ServiceResponse&amp;lt;Customer&amp;gt; DeleteCustomer(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; customerId);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     [DataContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Customer&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;         [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; CustomerId { get;set;}&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;         [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; FirstName { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;         [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; LastName { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt;     [DataContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ServiceResponse&amp;lt;T&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum30"&gt;  30:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum31"&gt;  31:&lt;/span&gt;         [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum32"&gt;  32:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; T StoredEntity { get;set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum33"&gt;  33:&lt;/span&gt;         [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum34"&gt;  34:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; Success { get;set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum35"&gt;  35:&lt;/span&gt;         [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum36"&gt;  36:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ErrorMessage { get;set;}&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum37"&gt;  37:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;If you’re familiar with WCF, the attributes on these contracts should look familiar. By default, in a Visual Studio WCF Service Application (see VS 2010 Screenshot below), this contract will define a SOAP service with 5 distinct methods. For brevity’s sake, I have excluded the actual implementation of the service.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_thumb1.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image_thumb1" border="0" alt="image_thumb1" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb1_thumb.png" width="244" height="170" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The data contracts consist of a simple Customer Entity and a wrapper class to return some information back to the user about any errors that occurred during processing.&lt;/p&gt;

&lt;p&gt;If you would like to learn more about WCF services, I encourage you to visit &lt;a href="http://msdn.microsoft.com/en-us/library/ms731067.aspx" target="_blank"&gt;Basic WCF Programming&lt;/a&gt; to learn more about how this all fits together.&lt;/p&gt;

&lt;h3&gt;&lt;/h3&gt;

&lt;h2&gt;Getting Started With REST&lt;/h2&gt;

&lt;p&gt;To allow your WCF service to behave as if it were a REST service, you will need to add the following XML to the &amp;lt;system.serviceModel /&amp;gt; element in your web.config:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; height: 102px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;services&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;service&lt;/span&gt; &lt;span style="color: #ff0000"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;RESTDatabaseService.CustomerService&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;endpoint&lt;/span&gt; &lt;span style="color: #ff0000"&gt;kind&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;webHttpEndpoint&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;contract&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;RESTDatabaseService.ICustomerService&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;service&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;services&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Once that is done, you’ll need to alter your service contract (ICustomerService, in this case) to read:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; [ServiceContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; ICustomerService&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     [WebInvoke(Method=&lt;span style="color: #006080"&gt;&amp;quot;POST&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     ServiceResponse&amp;lt;Customer&amp;gt; AddCustomer(Customer cust);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     [WebInvoke(Method=&lt;span style="color: #006080"&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;, UriTemplate=&lt;span style="color: #006080"&gt;&amp;quot;/{searchTerm}?page={page}&amp;amp;pageSize={recordsPerPage}&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     IEnumerable&amp;lt;Customer&amp;gt; SearchCustomers(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; searchTerm, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; page, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; recordsPerPage);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;     [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     [WebInvoke(Method=&lt;span style="color: #006080"&gt;&amp;quot;GET&amp;quot;&lt;/span&gt;, UriTemplate=&lt;span style="color: #006080"&gt;&amp;quot;/?id={customerId}&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     Customer GetCustomer(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; customerId);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;     [WebInvoke(Method=&lt;span style="color: #006080"&gt;&amp;quot;PUT&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     ServiceResponse&amp;lt;Customer&amp;gt; UpdateCustomer(Customer cust);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;     [OperationContract]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;     [WebInvoke(Method=&lt;span style="color: #006080"&gt;&amp;quot;DELETE&amp;quot;&lt;/span&gt;, UriTemplate=&lt;span style="color: #006080"&gt;&amp;quot;/?id={customerId}&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;     ServiceResponse&amp;lt;Customer&amp;gt; DeleteCustomer(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; customerId);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Once those changes are made, you can now access your data via a URL. If you take a look at the WebInvoke attribute that is applied to each of the operations, you’ll notice that some of them define a UriTemplate. That template will dictate what has to come after the “CustomerService.svc” part of the URL for the operation to be invoked.&lt;/p&gt;

&lt;p&gt;For instance, if I wanted to perform a search for everyone named “smith”, I would call the URL:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;http://&amp;lt;server&amp;gt;/CustomerService.svc&lt;/em&gt;&lt;strong&gt;/smith?page=1&amp;amp;pageSize=10&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;You’ll notice the address for the service remains similar to what you would expect (starts with server name and contains /CustomerService.svc), but it ends with a string that matches the pattern in the UriTemplate argument on the SearchCustomers(…) service operation.&lt;/p&gt;

&lt;p&gt;This works great. However, I’m not real happy with the CustomerService.svc, in the URL. It just doesn’t smell right. So, I want to change things to make my URL prettier -- like:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;http://&amp;lt;server&amp;gt;/&lt;/em&gt;&lt;strong&gt;Customers/smith?page=1&amp;amp;pageSize=10&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To do this, you’ll need to add a Global.asax to your web site: In Solution Explorer, right-click the web-site project and choose Add –&amp;gt; New Item… (Ctrl + Shift + A), and choose the “Global Application Class” item. Leave its default name and click “Add.”&lt;/p&gt;

&lt;p&gt;You will also need to add a reference to the “System.ServiceModel.Activation.dll” assembly.&lt;/p&gt;

&lt;p&gt;On your service implementation (code in CustomerService.svc.cs), add the AspNetCompatibilityRequirements attribute to the service and require compatibility, like this:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; height: 52px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; CustomerService : ICustomerService&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;You will also need to tell WCF to enable ASP.NET Compatibility by changing the web.config. In the &amp;lt;system.ServiceModel /&amp;gt; element, change the &amp;lt;serviceHostingEnvironment/ &amp;gt; element by adding the “aspNetCompatibilityEnabled” attribute and setting it to “true” as follows:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; height: 36px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;serviceHostingEnvironment&lt;/span&gt; &lt;span style="color: #ff0000"&gt;multipleSiteBindingsEnabled&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;aspNetCompatibilityEnabled&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Finally, in the new Global.asax file, add the following code:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Application_Start(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     RegisterRoutes();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; RegisterRoutes()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     var factory = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; System.ServiceModel.Activation.WebServiceHostFactory();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     System.Web.Routing.RouteTable.Routes.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; System.ServiceModel.Activation.ServiceRoute(&lt;span style="color: #006080"&gt;&amp;quot;customers&amp;quot;&lt;/span&gt;, factory, &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(CustomerService)));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;br /&gt;After all of that, you should be able to navigate your browser to: 

&lt;p&gt;&lt;em&gt;http://&amp;lt;server&amp;gt;/&lt;/em&gt;&lt;strong&gt;Customers/smith?page=1&amp;amp;pageSize=10&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Striving for True RESTful-ness&lt;/h2&gt;

&lt;p&gt;REST services are not just a different protocol for delivery, they are a different way to think about your services. &lt;a href="http://www.ics.uci.edu/~fielding/" target="_blank"&gt;Roy Fielding&lt;/a&gt; is typically credited with coining the term “REST” in &lt;a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm" target="_blank"&gt;his doctoral dissertation (chapter 5)&lt;/a&gt;; in which he lays out his vision of Representational State Transfer (REST) as a service architecture.&lt;/p&gt;

&lt;p&gt;One of the main differences between a SOAP/RPC-style of service and a RESTful one is that the RESTful service uses its data to guide the consumer around the service; opposed to a consumer downloading a WSDL and obtaining intimate details about a service. A RESTful service will provide hints about how it should be called, next. If you’ve done any web programming, it’s similar to providing links that your user can click on, or a post-back URL in a &amp;lt;form /&amp;gt; tag.&lt;/p&gt;

&lt;p&gt;Because of this requirement, we need to think a little more about what gets returned to our consumers. We need to modify the data contracts to include some actions that can be taken on the data that gets returned.&lt;/p&gt;

&lt;p&gt;As an example, I want to modify the SearchCustomers(…) method to not just return data, but to also return links to the next and previous pages of data.&lt;/p&gt;

&lt;p&gt;So far, a GET call to “http://&amp;lt;server&amp;gt;/Customers/smith?page=1&amp;amp;pageSize=10” will result in data similar to this:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;ArrayOfCustomer&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.datacontract.org/2004/07/RESTDatabaseService&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns:i&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;1&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First1&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith1&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;2&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First2&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith2&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;3&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First3&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith3&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;4&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First4&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith4&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;5&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First5&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith5&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;6&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First6&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum30"&gt;  30:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith6&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum31"&gt;  31:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum32"&gt;  32:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum33"&gt;  33:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;7&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum34"&gt;  34:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First7&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum35"&gt;  35:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith7&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum36"&gt;  36:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum37"&gt;  37:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum38"&gt;  38:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;8&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum39"&gt;  39:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First8&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum40"&gt;  40:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith8&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum41"&gt;  41:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum42"&gt;  42:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum43"&gt;  43:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;9&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum44"&gt;  44:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First9&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum45"&gt;  45:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith9&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum46"&gt;  46:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum47"&gt;  47:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum48"&gt;  48:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;10&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum49"&gt;  49:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First10&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum50"&gt;  50:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith10&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum51"&gt;  51:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum52"&gt;  52:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;ArrayOfCustomer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;That is because an IEnumerable, when serialized by the DataContractSerializer, becomes an ArrayOf XML element, by default. Instead of returning a straight IEnumerable, we need to create a type that contains the returned elements, and includes the links we want to provide to the consumer. That type might look like this:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; [DataContract(Name=&lt;span style="color: #006080"&gt;&amp;quot;PagedServiceResponse&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; PagedServiceResponse&amp;lt;T&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; PagedServiceResponse()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         Results = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;T&amp;gt;();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; PreviousPage { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;     [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; NextPage { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;     [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; List&amp;lt;T&amp;gt; Results { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;If we return that type; filled with Customer objects, we’ll see output like this:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;PagedServiceResponse&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.datacontract.org/2004/07/RESTDatabaseService&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns:i&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;NextPage&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/Smith?page=4&lt;span style="color: #ff0000"&gt;&amp;amp;amp;&lt;/span&gt;pageSize=10&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;NextPage&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;PreviousPage&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/Smith?page=2&lt;span style="color: #ff0000"&gt;&amp;amp;amp;&lt;/span&gt;pageSize=10&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;PreviousPage&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Results&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;21&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First21&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith21&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;22&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First22&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith22&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;23&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First23&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith23&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;24&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First24&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith24&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;25&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First25&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith25&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum30"&gt;  30:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum31"&gt;  31:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;26&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum32"&gt;  32:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First26&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum33"&gt;  33:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith26&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum34"&gt;  34:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum35"&gt;  35:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum36"&gt;  36:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;27&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum37"&gt;  37:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First27&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum38"&gt;  38:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith27&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum39"&gt;  39:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum40"&gt;  40:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum41"&gt;  41:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;28&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum42"&gt;  42:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First28&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum43"&gt;  43:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith28&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum44"&gt;  44:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum45"&gt;  45:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum46"&gt;  46:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;29&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum47"&gt;  47:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First29&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum48"&gt;  48:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith29&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum49"&gt;  49:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum50"&gt;  50:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum51"&gt;  51:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;30&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum52"&gt;  52:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First30&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum53"&gt;  53:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith30&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum54"&gt;  54:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum55"&gt;  55:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Results&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum56"&gt;  56:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;PagedServiceResponse&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;We’re almost there! The last thing we should probably do is provide a direct link to the individual customer record details. To do this, we’ll create a new domain object like this:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; [DataContract(Name=&lt;span style="color: #006080"&gt;&amp;quot;Customer&amp;quot;&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; LinkedCustomer : Customer&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; LinkedCustomer(Customer c)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.FirstName = c.FirstName;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.LastName = c.LastName;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.CustomerId = c.CustomerId;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     [DataMember]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Link { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Finally, we get the following result:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;PagedServiceResponse&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://schemas.datacontract.org/2004/07/RESTDatabaseService&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns:i&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;NextPage&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/Smith?page=4&lt;span style="color: #ff0000"&gt;&amp;amp;amp;&lt;/span&gt;pageSize=10&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;NextPage&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;PreviousPage&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/Smith?page=2&lt;span style="color: #ff0000"&gt;&amp;amp;amp;&lt;/span&gt;pageSize=10&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;PreviousPage&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Results&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;21&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First21&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith21&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/?id=21&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;22&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First22&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith22&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/?id=22&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;23&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First23&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith23&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/?id=23&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;24&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First24&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith24&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/?id=24&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum30"&gt;  30:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;25&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum31"&gt;  31:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First25&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum32"&gt;  32:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith25&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum33"&gt;  33:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/?id=25&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum34"&gt;  34:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum35"&gt;  35:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum36"&gt;  36:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;26&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum37"&gt;  37:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First26&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum38"&gt;  38:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith26&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum39"&gt;  39:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/?id=26&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum40"&gt;  40:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum41"&gt;  41:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum42"&gt;  42:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;27&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum43"&gt;  43:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First27&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum44"&gt;  44:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith27&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum45"&gt;  45:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/?id=27&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum46"&gt;  46:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum47"&gt;  47:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum48"&gt;  48:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;28&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum49"&gt;  49:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First28&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum50"&gt;  50:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith28&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum51"&gt;  51:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/?id=28&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum52"&gt;  52:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum53"&gt;  53:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum54"&gt;  54:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;29&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum55"&gt;  55:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First29&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum56"&gt;  56:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith29&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum57"&gt;  57:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/?id=29&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum58"&gt;  58:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum59"&gt;  59:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum60"&gt;  60:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;30&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;CustomerId&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum61"&gt;  61:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;First30&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;FirstName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum62"&gt;  62:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Smith30&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;LastName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum63"&gt;  63:&lt;/span&gt;       &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://localhost:63608/customers/?id=30&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Link&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum64"&gt;  64:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Customer&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum65"&gt;  65:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;Results&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum66"&gt;  66:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;PagedServiceResponse&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Of course, this type can be modified to be re-used by the GetCustomer(…) method so that it also includes the URLs for saving the item back to the service and deleting it. Providing feedback to your service consumer, in this manner, allows you to change your service layout, later; while not affecting the consumer’s ability to use the service. This is because the consumer never has to hard-code any URL information; instead they pull it from the message returned by the service.&lt;/p&gt;

&lt;h2&gt;Pick Your Formatting&lt;/h2&gt;

&lt;p&gt;So far, we have a service that will respond very well to basic HTTP calls and return very useful information – in XML. However, what if a JavaScript consumer calls the service and wants JSON messages back, instead? Fortunately, because of the way WCF is designed, you can control this with only a few lines of configuration.&lt;/p&gt;

&lt;p&gt;In the web.config, add the following XML to the &amp;lt;system.serviceModel /&amp;gt; element:&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;standardEndpoints&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;webHttpEndpoint&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;standardEndpoint&lt;/span&gt; &lt;span style="color: #ff0000"&gt;automaticFormatSelectionEnabled&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000"&gt;helpEnabled&lt;/span&gt;&lt;span style="color: #0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;   &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;webHttpEndpoint&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: white; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;standardEndpoints&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The “automaticFormatSelectionEnabled” is the real magic, here. This instructs WCF to inspect the HTTP headers for Accept and Content-Type; to determine what kind of formatting the consumer is asking for. After that, WCF picks the correct serializer, for you, and you don’t have to worry about it. Cool, eh?!&lt;/p&gt;

&lt;p&gt;Another nicety I should mention is the “helpEnabled&amp;quot; attribute. This enables consumers to navigate to &lt;em&gt;http://&amp;lt;server&amp;gt;&lt;/em&gt;&lt;strong&gt;/Customers/help&lt;/strong&gt; and see documentation for your service. Here’s a screenshot of what comes back in a browser:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_thumb2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image_thumb2" border="0" alt="image_thumb2" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb2_thumb.png" width="244" height="69" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In essence, as a consumer, you end up with an interactive document that helps you format your messages and URLs and gives you examples of what returns back from the service. This is incredibly useful and once again, it’s all done for you!&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;

&lt;p&gt;So, what have we done so far? In &lt;a href="http://www.centrolutions.com/blog/post/2011/12/28/REST-WCF-4-Forms-Authentication-and-Custom-Clients-(Part-1-of-3).aspx" target="_blank"&gt;Part 1 of this post&lt;/a&gt; we saw some simple differences between SOAP and REST architectures. In this post, we saw how simple it is to convert a basic WCF service into a REST service; using a couple lines of configuration, and the addition of the WebInvoke attribute to the service contract.&lt;/p&gt;

&lt;p&gt;We also saw how we can use ASP.NET routing to make the service URL more “pretty” and get rid of the .svc extension on the service, itself. Additionally, to stay true to the way REST services are suppose to work, we saw one example of how we might add links to other service actions in our return messages. Just because your service is accessed via a URL and an HTTP verb doesn’t make it truly RESTful. You have to think about your consumers in a different way than if they had downloaded all of the details of your service from a WSDL.&lt;/p&gt;

&lt;p&gt;Lastly, we looked at the formatting of the data that comes out of the service. It’s very simple to enable flexible formatting; with only a few lines of configuration. Additionally, it’s just as easy to provide online help and documentation to your service consumers using the “helpEnabled” configuration attribute.&lt;/p&gt;

&lt;p&gt;In the upcoming Part 3 of this post, we’ll add a client / consumer to the service and, just to make things more interesting, tack on some security to make this hypothetical service a little more real-world-ready.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>WCF</category>
      <category>REST</category>
      <guid>https://www.centrolutions.com/blog/2012/01/01/REST-WCF-4-Forms-Authentication-and-Custom-Clients-(Part-2-of-3)</guid>
      <pubDate>Sun, 01 Jan 2012 03:31:07 GMT</pubDate>
    </item>
    <item>
      <title>REST, WCF 4, Forms Authentication, and Custom Clients (Part 1 of 3)</title>
      <link>https://www.centrolutions.com/blog/2011/12/29/REST-WCF-4-Forms-Authentication-and-Custom-Clients-(Part-1-of-3)</link>
      <description>&lt;h2&gt;&lt;/h2&gt;  &lt;h2&gt;SOAP and REST Compared&lt;/h2&gt;  &lt;p&gt;REST services are the new “hotness.” All of the cool kids are doing them. I (not that cool of a kid) feel as though I’ve been left behind -- holding onto my SOAP messages like an old curmudgeon holding on to his last dollar. After all, SOAP-based services have served me well; all the way back to the .ASMX days. So, I’m the first to admit that traditional (SOAP-based) web services still have a place. They are extraordinarily easy to use, nowadays, because the tooling around them is so polished. On top of that, I can’t think of a platform that doesn’t support them, today.&lt;/p&gt;  &lt;p&gt;[more]&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_14.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="A typical SOAP request message" border="0" alt="A typical SOAP request message" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_14.png" width="654" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_15.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="A typical SOAP response" border="0" alt="A typical SOAP response" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_15.png" width="654" height="245" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The argument against these traditional services is that they are “heavy.” The SOAP envelope that your actual message gets wrapped in, adds weight and uses extra bandwidth. It also means that both the consumer and service need to have logic to “open the envelope” and understand it. Granted, this is hidden in most implementations, nowadays, but it still has to exist at some level. In the example above, you can see how verbose the request to a parameter-less method and it’s Boolean result can be.&lt;/p&gt;  &lt;p&gt;Another argument against SOAP is that it is redundant. If you look at the HTTP protocol, it already has its own set of operations in the form of “Verbs” (POST, GET, PUT, DELETE, etc.). SOAP uses a header in the HTTP message (SOAPAction to be exact), to declare the operation you want the service to perform. REST simply uses a URL and an HTTP verb -- both of which would already be there for a normal HTTP request. Below, you can see a typical REST request and response. In many ways, it looks very much the same as a SOAP request/response, but as you can see, the request is much small and simpler; as is the response.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_16.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="A typical REST request" border="0" alt="A typical REST request" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_16.png" width="654" height="88" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_17.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="A typical REST response" border="0" alt="A typical REST response" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_17.png" width="654" height="202" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Message format is a given in the SOAP-based service world. Almost all SOAP services you will encounter “in the wild” use XML for their message format. Not every SOAP implementation has to use XML; SOAP can use other formats, but most choose XML because they have to deal with the SOAP envelope (which is XML), anyway. So, because of that, it’s almost a no-brainer to use XML since you’re in that space, already.&lt;/p&gt;  &lt;p&gt;REST services, on the other hand, can easily switch between message formats. So, if you need XML for your .NET deserialization code, but require JSON for your JavaScript snippets, REST can easily accommodate your needs. The good services do this automatically by looking at the “Content-Type” header in the HTTP message. The not-so-well-thought-out services can still do this, but may require you pass an argument in the URL to choose your format. And, because you don’t have any message envelopes to get through before you see your data, parsing the returned data is trivial.&lt;/p&gt;  &lt;p&gt;Below, you can see an example of a REST service method (the same one as the example above), but the request’s “Content-Type” header is set to “application/json” instead of “text/xml.” You’ll notice the response now includes a valid JSON-formatted date string instead of XML.&lt;/p&gt;        &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_18.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="A typical REST JSON request" border="0" alt="A typical REST JSON request" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_18.png" width="654" height="85" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_19.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="A typical REST JSON response" border="0" alt="A typical REST JSON response" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_19.png" width="654" height="223" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;What is Missing from REST&lt;/h2&gt;  &lt;p&gt;Like I said before, I have used SOAP for almost all of the service work I’ve done, in the past. I like how Visual Studio and WCF creates nice, easy to understand objects for me. I like being able to point at a WSDL and have my service client generated for me. I like having the abstraction layer / SOAP implementation handle context for me.&amp;#160; I like not having to think about the underlying HTTP protocol.&lt;/p&gt;  &lt;p&gt;On top of all of that, my brain works in the RPC-like service domain, very well. I name my methods after the action they perform. With REST, you concentrate more on your entities and utilize the existing verbiage to perform the actions you want.&lt;/p&gt;  &lt;p&gt;If you use WS-* with your SOAP services, there is a chance you’ll run into some roadblocks. For federated security or reliable messaging, you’re probably going to want to stick with SOAP and WS-*. Transactions are another piece of the puzzle I don’t quite have a solution for yet, but I’ve seen examples of possible solutions, so there’s hope there.&lt;/p&gt;  &lt;p&gt;Other than those things mentioned above, you can do most anything with a REST service that you could with a SOAP service. Some might even argue that you can do it more elegantly – though beauty is in the eye of the beholder.&lt;/p&gt;  &lt;h2&gt;&lt;/h2&gt;  &lt;h2&gt;What’s Next&lt;/h2&gt;  &lt;p&gt;In the next part of this post, I’ll detail how you might create a REST service (with pretty URLs, no less!) using WCF 4. In the part following that, we’ll take a look at securing the service with ASP.NET’s MembershipProvider (also known as Forms Authentication) and how we can write a simple console application that consumes the service.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>WCF</category>
      <category>REST</category>
      <guid>https://www.centrolutions.com/blog/2011/12/29/REST-WCF-4-Forms-Authentication-and-Custom-Clients-(Part-1-of-3)</guid>
      <pubDate>Thu, 29 Dec 2011 04:09:00 GMT</pubDate>
    </item>
    <item>
      <title>Camera Image Control -- New Name and New Features</title>
      <link>https://www.centrolutions.com/blog/2011/11/20/Camera-Image-Control-New-Name-and-New-Features</link>
      <description>&lt;p&gt;I'm pleased to announce a new addition to the LightSwitch family: The Image Controls for LightSwitch extension.&lt;/p&gt;
&lt;p&gt;Previously, the extension was called "Camera Image Control for LightSwitch" which was a very accurate, but too specific name. Recently, I added a control to the extension that allows you to scan documents directly from a scanner. With this new addition comes a name change.&lt;/p&gt;
&lt;p&gt;I'm also pleased to announce that, while the name has changed, the price has not. You can still purchase the Camera Image Control; along with the Scanner Image Control, together for a low, low price. Simply &lt;a href="http://www.centrolutions.com/products/p/52/image-controls-for-lightswitch"&gt;click here to open the purchase page.&lt;/a&gt;&amp;nbsp;Of course, you can download a free, limited trial from the Visual Studio Gallery to try it out before you buy it.&lt;/p&gt;
&lt;p&gt;If you previously purchased the extension, you don't have to worry. You can get the new functionality by &lt;a href="http://www.centrolutions.com/products/login"&gt;logging in at the product section of this website&lt;/a&gt;, choosing "My Account," and then "Downloadable Products." Once there, you can click on the "Download" link next to the product.&lt;/p&gt;
&lt;p&gt;I'm excited to hear your feedback and I hope you find the new control useful. As always, if you have any trouble with it, I want to know about it. Please use the links on this website to contact me, directly.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>LightSwitch</category>
      <guid>https://www.centrolutions.com/blog/2011/11/20/Camera-Image-Control-New-Name-and-New-Features</guid>
      <pubDate>Sun, 20 Nov 2011 00:21:00 GMT</pubDate>
    </item>
    <item>
      <title>Camera Image Control 1.2</title>
      <link>https://www.centrolutions.com/blog/2011/11/03/Camera-Image-Control-12</link>
      <description>&lt;p&gt;Just released: Camera Image Control for Visual Studio LightSwitch version 1.2.&lt;/p&gt;
&lt;p&gt;New in this version:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There is now a trial version available for download from the Visual Studio Gallery.&lt;/li&gt;
&lt;li&gt;You can now optionally disable the file upload and clear photo buttons by using a couple new properties on the control.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you purchased the control, you can log in at &lt;a href="http://centrolutions.com/products/login"&gt;http://centrolutions.com/products/login&lt;/a&gt;&amp;nbsp;and re-download the extension file from the "My Account" &amp;gt; "Downloadable Products" section.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>LightSwitch</category>
      <guid>https://www.centrolutions.com/blog/2011/11/03/Camera-Image-Control-12</guid>
      <pubDate>Thu, 03 Nov 2011 04:17:00 GMT</pubDate>
    </item>
    <item>
      <title>LightSwitch, Custom Settings Tables, and a Web Cam</title>
      <link>https://www.centrolutions.com/blog/2011/10/13/LightSwitch-Custom-Settings-Tables-and-a-Web-Cam</link>
      <description>&lt;p&gt;Visual Studio LightSwitch is a relatively new development tool from Microsoft that allows a developer to quickly create database-driven, Silverlight applications. While I won’t give you the full sales pitch in this post – since it is my first post on LightSwitch, I should at least mention that you can find &lt;a href="http://microsoft.com/visualstudio/lightswitch" target="_blank"&gt;more information here&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We’ll take a look at setting control properties from code-behind. Specifically, we’ll see how we might store some settings in a database table, read them, and apply them to a control. &lt;/p&gt;  &lt;p&gt;[more]&lt;/p&gt;  &lt;h1&gt;Setting up the Project&lt;/h1&gt;  &lt;p&gt;If you’re following along at home, create a new LightSwitch project (File &amp;gt; New &amp;gt; Project, choose the LightSwitch in the project template tree, and select LightSwitch Application (Visual C#)). Name it whatever you want; I named my project “SettingsAndWebCam.”&lt;/p&gt;  &lt;p&gt;From the Designer tab, choose “Create new table.”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb.png" width="410" height="288" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Call the table “Setting” and create four integer properties called “ResolutionWidth,” “ResolutionHeight,” “ViewFinderWidth,” and “ViewFinderHeight.”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_1.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_1.png" width="420" height="226" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;While the Setting table is still visible in the designer, click on the down-arrow next to the “Write Code” button; to expand its menu. Choose “Settings_CanInsert” from the “Access Control Methods” section of the menu.&lt;/p&gt;  &lt;p&gt;When the code-behind file opens, write the following code. This simple bit of C# only allows one record in the table and never allows the user to delete a record.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_2.png" width="646" height="221" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Go back to the designer tab and click the “Screen…” button to create a new screen. I’m sort of partial to the “List and Details Screen” layout, but you could also use the “Editable Grid Screen” layout. Choose “Settings” from the dropdown list under “Screen Data.” Click the OK button to create the screen.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_3.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_3.png" width="661" height="270" /&gt;&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;Run your LightSwitch application (press F5) and create a new record in the Setting table. Enter the values in the screenshot below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_4.png" width="612" height="325" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Click the OK button and then click “Save” on the screen.&lt;/p&gt;  &lt;h1&gt;Using the Settings&lt;/h1&gt;  &lt;p&gt;Now that the settings are ready to go, let’s use them to setup a camera control on another screen.&lt;/p&gt;  &lt;p&gt;I’ve created a table called “Member” that has three columns: FirstName, LastName, and Picture. The first two columns are strings and the last one is an image column.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_5.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_5.png" width="560" height="168" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Another thing I’ve done is to include the “Camera Image Control” as an extension in the properties of my project. Shameless plug: &lt;a href="http://www.centrolutions.com/products" target="_blank"&gt;you can buy this extension here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_6.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_6.png" width="659" height="154" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Additionally, I’ve created another List and Details Screen for the Member table.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_7.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_7.png" width="659" height="263" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;and I’ve changed the control used for the Picture column to “Camera” so that I can use my web cam to take pictures of people.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_8.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_8.png" width="550" height="348" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Alright, it’s &lt;em&gt;finally&lt;/em&gt; time to write some code! If you’re a “coder” like me, here comes the fun part.&lt;/p&gt;  &lt;p&gt;In the Solution Explorer, right click on the “SettingsAndWebCam” project and choose “View Application Code (Client)” from the context menu.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_9.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_9.png" width="483" height="313" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Add the following code to the code-behind file.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_10.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_10.png" width="661" height="207" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the MembersListDetail screen designer, choose “MemberListDetail_Created” method from the “Write Code” drop-down list and add the following code to that method:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_11.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_11.png" width="662" height="239" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When you run the application, you can see the results of your hard work when you start the camera:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_12.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_12.png" width="204" height="189" /&gt;&lt;/a&gt;&lt;a href="http://www.centrolutions.com/blog/image.axd?picture=image_13.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.centrolutions.com/blog/image.axd?picture=image_thumb_13.png" width="244" height="176" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Usually, these properties would be set by the LightSwitch developer; through the LightSwitch designer, but that would lock the end-user into using a single resolution and view-finder window size. Because we have used our settings to initialize the camera, the end-user can change the resolution of the camera which adds more flexibility to your application.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>LightSwitch</category>
      <guid>https://www.centrolutions.com/blog/2011/10/13/LightSwitch-Custom-Settings-Tables-and-a-Web-Cam</guid>
      <pubDate>Thu, 13 Oct 2011 02:41:49 GMT</pubDate>
    </item>
    <item>
      <title>Beta Testers for the “Camera Image Control for LightSwitch” Extension</title>
      <link>https://www.centrolutions.com/blog/2011/08/28/Beta-Testers-for-the-e2809cCamera-Image-Control-for-LightSwitche2809d-Extension</link>
      <description>&lt;p&gt;I’m looking for several people to help me beta-test a LightSwitch extension. The extension allows you to capture an image from your webcam and save it directly to a screen in LightSwitch. I’m planning to sell the extension for a small fee, but if you are one of the beta testers, you will get it for free.&lt;/p&gt;  &lt;p&gt;If you think you can help, please use the menu on this site to contact me and I’ll get you setup with access to the extension.&lt;/p&gt;  &lt;p&gt;Thanks!&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>LightSwitch</category>
      <guid>https://www.centrolutions.com/blog/2011/08/28/Beta-Testers-for-the-e2809cCamera-Image-Control-for-LightSwitche2809d-Extension</guid>
      <pubDate>Sun, 28 Aug 2011 13:36:00 GMT</pubDate>
    </item>
    <item>
      <title>Major Bug in Stripes 2.0 for Those Upgrading From Previous Versions</title>
      <link>https://www.centrolutions.com/blog/2011/04/26/Major-Bug-in-Stripes-20-for-Those-Upgrading-From-Previous-Versions</link>
      <description>&lt;p&gt;&lt;strong&gt;Update 5/3/2011:&lt;/strong&gt; The fix (version 2.1) has been published to the market place. You should be able to start downloading it whenever your country's marketplace refreshes.&lt;/p&gt;
&lt;p&gt;Well, it had to happen, eventually. There is a major bug in Version 2.0 of Stripes that is affecting users that upgrade from a previous version. Because some internal data structures have changed, when the old application state is pulled into the new application, items are missing and the application can crash when searching for a barcode.&lt;/p&gt;
&lt;p&gt;A fix for this problem has been submitted to the Marketplace, but it may take a few days to actually hit the device in your hand.&lt;/p&gt;
&lt;p&gt;A short-term fix for this issue can be performed by uninstalling Stripes and re-installing it from the Marketplace. You will not be charged for the re-installation and it should fix the internal data structure. However, this will result in complete data loss of your scanning history.&lt;/p&gt;
&lt;p&gt;I apologize for this error and please look for the fix on your device, soon.&lt;/p&gt;
&lt;p&gt;Thank you!&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Stripes</category>
      <category>Windows Phone</category>
      <guid>https://www.centrolutions.com/blog/2011/04/26/Major-Bug-in-Stripes-20-for-Those-Upgrading-From-Previous-Versions</guid>
      <pubDate>Tue, 26 Apr 2011 20:08:00 GMT</pubDate>
    </item>
    <item>
      <title>Stripes 2.0 for Windows Phone</title>
      <link>https://www.centrolutions.com/blog/2011/04/25/Stripes-20-for-Windows-Phone</link>
      <description>&lt;p&gt;The latest version of Stripes (2.0) brings the following changes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Fixed crash bug with certain ISBN numbers and QR codes &lt;/li&gt;    &lt;li&gt;Added option to use GPS and search for local stores carrying the product scanned &lt;/li&gt;    &lt;li&gt;Added option to use regional search services for better, localized results &lt;/li&gt;    &lt;li&gt;Added ability to rename history items and delete individual items from history (touch and hold on an item for a context menu)&lt;/li&gt;    &lt;li&gt;Added support for two new languages (German and Spanish) &lt;/li&gt;    &lt;li&gt;Added error reporting to aid in diagnosing support issues &lt;/li&gt;    &lt;li&gt;Enhanced detection of barcodes in photos where the barcode is rotated by 90 degrees &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The good news is that the next version of Windows Phone (“Mango” is the code name) will allow developers to embed the camera in their application. That means, Stripes will have “live scanning” capabilities! Microsoft says we can expect this update in the fall of 2011.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Stripes</category>
      <category>Windows Phone</category>
      <guid>https://www.centrolutions.com/blog/2011/04/25/Stripes-20-for-Windows-Phone</guid>
      <pubDate>Mon, 25 Apr 2011 19:35:21 GMT</pubDate>
    </item>
    <item>
      <title>What Order Do Navigation Methods Get Called in Windows Phone?</title>
      <link>https://www.centrolutions.com/blog/2011/04/11/What-Order-Do-Navigation-Methods-Get-Called-in-Windows-Phone</link>
      <description>&lt;p&gt;Recently, I was asked which gets called first: the Application_Launching, Application_Activated, Application_Deactivated, and Application_Closing events or the page-specific OnNavigatedTo and OnNavigatedFrom overrides. It turns out, the answer is &amp;ndash; both.&lt;/p&gt;
&lt;p&gt;When the application first runs from the start screen, Application_Launching gets called first. Then, the page-specific OnNavigatedTo gets called.&lt;/p&gt;
&lt;p&gt;When navigating back to the start screen (by pressing the start button), the page-specific OnNavigatedFrom override gets called and &lt;em&gt;then&lt;/em&gt; the Application_Deactivated event gets fired.&lt;/p&gt;
&lt;p&gt;When navigating back to the app (using the back button), the Application_Activated fires first, and then the page&amp;rsquo;s OnNavigatedTo override gets hit.&lt;/p&gt;
&lt;p&gt;So, the rule of thumb seems to be, if you are on a page, that page&amp;rsquo;s overrides will be called first. If you are entering the app from elsewhere, the Application events will fire first. Now you (and I) know!&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>Windows Phone</category>
      <guid>https://www.centrolutions.com/blog/2011/04/11/What-Order-Do-Navigation-Methods-Get-Called-in-Windows-Phone</guid>
      <pubDate>Mon, 11 Apr 2011 10:34:00 GMT</pubDate>
    </item>
    <item>
      <title>Slides and Demos from Nebraska Code Camp 2011</title>
      <link>https://www.centrolutions.com/blog/2011/04/10/Slides-and-Demos-from-Nebraska-Code-Camp-2011</link>
      <description>&lt;p&gt;Thanks to everyone who came to my session &lt;a href="http://nebraskacodecamp.com/Sessions/Details/7" target="_blank"&gt;Building a Real App for Windows Phone 7&lt;/a&gt; at the &lt;a href="http://nebraskacodecamp.com" target="_blank"&gt;Nebraska Code Camp 2011 event&lt;/a&gt;. I hope you enjoyed it. If you&amp;rsquo;re looking for the slides and demos, you can &lt;a href="http://www.centrolutions.com/downloads/NECodeCamp2011SlidesDemos.zip" target="_blank"&gt;download them here&lt;/a&gt;.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Presentations</category>
      <guid>https://www.centrolutions.com/blog/2011/04/10/Slides-and-Demos-from-Nebraska-Code-Camp-2011</guid>
      <pubDate>Sun, 10 Apr 2011 08:28:00 GMT</pubDate>
    </item>
    <item>
      <title>Quick Tip: Find your Windows Phone Wifi MAC</title>
      <link>https://www.centrolutions.com/blog/2011/04/08/Quick-Tip-Find-your-Windows-Phone-Wifi-MAC</link>
      <description>&lt;p&gt;I recently had to find the mac address of the Windows Phone I was using for a demo. I needed to connect to Wifi and the venue filtered connections by MAC.&lt;/p&gt;
&lt;p&gt;Here are the steps to make it happen:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the Phone app and dial ##634#&lt;/li&gt;
&lt;li&gt;Hit the "Call" button and a "Diagnosis" app will open&lt;/li&gt;
&lt;li&gt;In the "Diagnosis" app, dial *#1234# and a "Version" screen will be shown.&lt;/li&gt;
&lt;li&gt;There's your Wi-Fi MAC address at the bottom of the screen. Cool, eh?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;By the way, I should mention, this is a "Works on my phone" type of thing. I have tested it on a Samsung Focus.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Windows Phone</category>
      <guid>https://www.centrolutions.com/blog/2011/04/08/Quick-Tip-Find-your-Windows-Phone-Wifi-MAC</guid>
      <pubDate>Fri, 08 Apr 2011 15:50:00 GMT</pubDate>
    </item>
    <item>
      <title>How the TextBox InputScope Affects the Windows Phone SIP (On-Screen Keyboard)</title>
      <link>https://www.centrolutions.com/blog/2011/04/06/How-the-TextBox-InputScope-Affects-the-Windows-Phone-SIP-(On-Screen-Keyboard)</link>
      <description>&lt;p&gt;When writing a Windows Phone 7 application in Silverlight, you will find a property on every TextBox control called “InputScope.” The primary use of this property is to alter the way the Software Input Panel (SIP or on-screen keyboard) works. Depending on what you set its value to, the SIP will include certain character sets, auto-complete features, and can auto-capitalize phrases and words for you. There’s no question you should be using this built-in feature. However, sometimes it’s hard to remember what each value of the &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.input.inputscopenamevalue(v=VS.95).aspx" target="_blank"&gt;InputScopeNameValue Enumeration&lt;/a&gt; actually does. &lt;/p&gt;  &lt;p&gt;As it turns out, Microsoft lists &lt;a href="http://msdn.microsoft.com/en-us/library/ff426929(v=VS.95).aspx" target="_blank"&gt;only 10 modes the SIP can be put into&lt;/a&gt;. Below, you will find a screenshot of each and a list of the InputScope values associated with each.&lt;/p&gt;  &lt;p&gt;[more]&lt;/p&gt;  &lt;h2&gt;Default&lt;/h2&gt;  &lt;p&gt;If the InputScope is not specified, this is the SIP that is used. You get a standard layout with no auto-complete help at the top.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;InputScope values&lt;/strong&gt;: Default, PhraseList, RegularExpression, Srgs, Xml, EnumString, FullFilePath, FileName, LogOnName, PersonalFullName, PersonalNamePrefix, PersonalGivenName, PersonalMiddleName, PersonalSurname, PersonalNameSuffix, AddressStateOrProvince, AddressCity, AddressCountryName, AddressCountryShortName, OneChar, Password, NumberFullWidth, AlphanumericHalfWidth, AlphaNumericFullWidth, CurrencyChinese, Bopomofo, Hiragana, KatakanaHalfWidth, KatakanaFullWidth, Hanja, Yomi, Private (causes a non-functioning auto-complete bar to show at the top of the SIP)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;InputScope values starting in numeric / symbol mode&lt;/strong&gt;: PostalAddress, PostalCode, AddressStreet, CurrencyAmountAndSymbol, CurrencyAmount, DateMonth, DateDay, DateYear, Digits, Number, Time, TimeHour, TimeMinorSec&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;InputScope values starting in text mode with first letter capitalization&lt;/strong&gt;: DateMonthName, Date&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="200"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Default_4-3-2011_22.25.47.11.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Default_4-3-2011_22.25.47.11" border="0" alt="Default_4-3-2011_22.25.47.11" src="http://www.centrolutions.com/Blog/image.axd?picture=Default_4-3-2011_22.25.47.11_thumb.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Default_4-3-2011_22.25.55.529.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Default_4-3-2011_22.25.55.529" border="0" alt="Default_4-3-2011_22.25.55.529" src="http://www.centrolutions.com/Blog/image.axd?picture=Default_4-3-2011_22.25.55.529_thumb_1.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;Text&lt;/h2&gt;  &lt;p&gt;This SIP layout is nearly the same as the Default layout. However, it comes with an emoticon button, auto-correct bar (on top) and auto-capitalization for the first word of a sentence.&lt;/p&gt;  &lt;p&gt;InputScope values: Text&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="200"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Text_4-3-2011_22.32.48.456.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Text_4-3-2011_22.32.48.456" border="0" alt="Text_4-3-2011_22.32.48.456" src="http://www.centrolutions.com/Blog/image.axd?picture=Text_4-3-2011_22.32.48.456_thumb_1.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Text_4-3-2011_22.32.57.391.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Text_4-3-2011_22.32.57.391" border="0" alt="Text_4-3-2011_22.32.57.391" src="http://www.centrolutions.com/Blog/image.axd?picture=Text_4-3-2011_22.32.57.391_thumb_1.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;Web&lt;/h2&gt;  &lt;p&gt;Also similar to the Default layout, a “.com” button is added along with a highlighted Enter button.&lt;/p&gt;  &lt;p&gt;InputScope values: Url&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="200"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Web_4-3-2011_22.34.30.82.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Web_4-3-2011_22.34.30.82" border="0" alt="Web_4-3-2011_22.34.30.82" src="http://www.centrolutions.com/Blog/image.axd?picture=Web_4-3-2011_22.34.30.82_thumb_1.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Web_4-3-2011_22.35.8.75.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Web_4-3-2011_22.35.8.75" border="0" alt="Web_4-3-2011_22.35.8.75" src="http://www.centrolutions.com/Blog/image.axd?picture=Web_4-3-2011_22.35.8.75_thumb_1.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;E-mail address&lt;/h2&gt;  &lt;p&gt;Adding the “.com” and “@” buttons to the default layout, this layout is used for email address entry.&lt;/p&gt;  &lt;p&gt;InputScope values: EmailSmtpAddress, EmailUserName&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="200"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=EmailAddress_4-3-2011_22.38.31.220.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="EmailAddress_4-3-2011_22.38.31.220" border="0" alt="EmailAddress_4-3-2011_22.38.31.220" src="http://www.centrolutions.com/Blog/image.axd?picture=EmailAddress_4-3-2011_22.38.31.220_thumb.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=EmailAddress_4-3-2011_22.38.39.50.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="EmailAddress_4-3-2011_22.38.39.50" border="0" alt="EmailAddress_4-3-2011_22.38.39.50" src="http://www.centrolutions.com/Blog/image.axd?picture=EmailAddress_4-3-2011_22.38.39.50_thumb.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;E-mail name or address&lt;/h2&gt;  &lt;p&gt;This layout is listed separately from the “E-mail address” layout, but seems to be identical in every way.&lt;/p&gt;  &lt;p&gt;InputScope values: EmailNameOrAddress&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="200"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=EmailNameOrAddress_4-3-2011_22.40.25.711.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="EmailNameOrAddress_4-3-2011_22.40.25.711" border="0" alt="EmailNameOrAddress_4-3-2011_22.40.25.711" src="http://www.centrolutions.com/Blog/image.axd?picture=EmailNameOrAddress_4-3-2011_22.40.25.711_thumb.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=EmailNameOrAddress_4-3-2011_22.40.37.126.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="EmailNameOrAddress_4-3-2011_22.40.37.126" border="0" alt="EmailNameOrAddress_4-3-2011_22.40.37.126" src="http://www.centrolutions.com/Blog/image.axd?picture=EmailNameOrAddress_4-3-2011_22.40.37.126_thumb.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;Maps&lt;/h2&gt;  &lt;p&gt;The Maps layout is suppose to be used for entering location information (coordinates or city, state combinations). It includes a prominent comma button, auto-complete features, and a highlighted Enter key.&lt;/p&gt;  &lt;p&gt;InputScope values: Maps, ApplicationEnd&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="200"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Maps_4-3-2011_22.41.52.589.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Maps_4-3-2011_22.41.52.589" border="0" alt="Maps_4-3-2011_22.41.52.589" src="http://www.centrolutions.com/Blog/image.axd?picture=Maps_4-3-2011_22.41.52.589_thumb_1.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Maps_4-3-2011_22.41.58.187.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Maps_4-3-2011_22.41.58.187" border="0" alt="Maps_4-3-2011_22.41.58.187" src="http://www.centrolutions.com/Blog/image.axd?picture=Maps_4-3-2011_22.41.58.187_thumb_1.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;Phone number&lt;/h2&gt;  &lt;p&gt;This layout is a standard 12-key telephone pad (0 – 9, *, and #) with the addition of Backspace, Space, Comma, and Period.&lt;/p&gt;  &lt;p&gt;InputScope values: TelephoneNumber, TelephoneCountryCode, TelephoneAreaCode, TelephoneLocalNumber&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=PhoneNumber_4-3-2011_22.44.23.581.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="PhoneNumber_4-3-2011_22.44.23.581" border="0" alt="PhoneNumber_4-3-2011_22.44.23.581" src="http://www.centrolutions.com/Blog/image.axd?picture=PhoneNumber_4-3-2011_22.44.23.581_thumb.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Search&lt;/h2&gt;  &lt;p&gt;This is nearly the same as the Default layout, but also includes a highlighted Enter key.&lt;/p&gt;  &lt;p&gt;InputScope values: Search&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="200"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Search_4-3-2011_22.45.23.466.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Search_4-3-2011_22.45.23.466" border="0" alt="Search_4-3-2011_22.45.23.466" src="http://www.centrolutions.com/Blog/image.axd?picture=Search_4-3-2011_22.45.23.466_thumb_1.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Search_4-3-2011_22.45.30.873.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Search_4-3-2011_22.45.30.873" border="0" alt="Search_4-3-2011_22.45.30.873" src="http://www.centrolutions.com/Blog/image.axd?picture=Search_4-3-2011_22.45.30.873_thumb_1.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;SMS contact&lt;/h2&gt;  &lt;p&gt;Take the Default layout, add access to the 12-key telephone pad (123 button), the “@” key, and a semicolon.&lt;/p&gt;  &lt;p&gt;InputScope values: NameOrPhoneNumber&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="200"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=SMSContact_4-3-2011_22.47.18.853.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SMSContact_4-3-2011_22.47.18.853" border="0" alt="SMSContact_4-3-2011_22.47.18.853" src="http://www.centrolutions.com/Blog/image.axd?picture=SMSContact_4-3-2011_22.47.18.853_thumb.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=SMSContact_4-3-2011_22.47.24.355.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SMSContact_4-3-2011_22.47.24.355" border="0" alt="SMSContact_4-3-2011_22.47.24.355" src="http://www.centrolutions.com/Blog/image.axd?picture=SMSContact_4-3-2011_22.47.24.355_thumb.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h2&gt;Chat&lt;/h2&gt;  &lt;p&gt;This layout is listed separately from the “Text” layout, but seems identical to the Text layout.&lt;/p&gt;  &lt;p&gt;InputScope values: Chat&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="200"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Chat_4-3-2011_22.49.54.620.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Chat_4-3-2011_22.49.54.620" border="0" alt="Chat_4-3-2011_22.49.54.620" src="http://www.centrolutions.com/Blog/image.axd?picture=Chat_4-3-2011_22.49.54.620_thumb_1.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;        &lt;td valign="top" width="100"&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Chat_4-3-2011_22.49.59.387.png" rel="lightbox"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Chat_4-3-2011_22.49.59.387" border="0" alt="Chat_4-3-2011_22.49.59.387" src="http://www.centrolutions.com/Blog/image.axd?picture=Chat_4-3-2011_22.49.59.387_thumb_1.png" width="148" height="244" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;One thing I should bring up is that I did not try the keyboard in all language modes. (If you hit the “En” button you can switch languages) However, it does appear the above lists are consistent across languages, as well. I tested this in English (United States). If you spot an error, please let me know and I’ll update the post.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>Windows Phone</category>
      <guid>https://www.centrolutions.com/blog/2011/04/06/How-the-TextBox-InputScope-Affects-the-Windows-Phone-SIP-(On-Screen-Keyboard)</guid>
      <pubDate>Wed, 06 Apr 2011 09:29:06 GMT</pubDate>
    </item>
    <item>
      <title>Slides and Demos from Lincoln .NET User Group</title>
      <link>https://www.centrolutions.com/blog/2011/01/27/Slides-and-Demos-from-Lincoln-NET-User-Group</link>
      <description>&lt;p&gt;If you came to the Lincoln .NET User Group last night, thanks! Unfortunately, I ran out of time and didn't get to show all of the demos I had prepared, but I hope it was informative, nonetheless. I've attached the final demo project and the slides from my talk.&lt;/p&gt;
&lt;p&gt;Thanks again for coming out and feel free to contact me with questions.&lt;/p&gt;
&lt;p&gt;&lt;a title="Slides and Demos" href="http://centrolutions.com/downloads/Building a Real App for Windows Phone 7.zip"&gt;Slides and Demos&lt;/a&gt;&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Presentations</category>
      <guid>https://www.centrolutions.com/blog/2011/01/27/Slides-and-Demos-from-Lincoln-NET-User-Group</guid>
      <pubDate>Thu, 27 Jan 2011 10:20:00 GMT</pubDate>
    </item>
    <item>
      <title>Stripes 1.4 for Windows Phone</title>
      <link>https://www.centrolutions.com/blog/2011/01/11/Stripes-14-for-Windows-Phone</link>
      <description>&lt;ul&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span class="content grayText"&gt;Version 1.4 was just released to the Marketplace. It brings the following updates:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="content grayText"&gt;Improved Barcode detection from photos&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="content grayText"&gt;Improved search results for products&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="content grayText"&gt;Improved QR Code support (including Contacts and Map Locations)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="content grayText"&gt;Ability to save photos to the Picture Hub&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="content grayText"&gt;Ability to use an existing photo from the Picture Hub&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="content grayText"&gt;Better progress reporting during scans &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;p&gt;As always, bug reports and image detection problem reports are welcome. Please comment here or use the "Contact" link in the menu.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Stripes</category>
      <category>Windows Phone</category>
      <guid>https://www.centrolutions.com/blog/2011/01/11/Stripes-14-for-Windows-Phone</guid>
      <pubDate>Tue, 11 Jan 2011 21:30:00 GMT</pubDate>
    </item>
    <item>
      <title>Stripes 1.3 for Windows Phone</title>
      <link>https://www.centrolutions.com/blog/2010/11/30/Stripes-13-for-Windows-Phone</link>
      <description>&lt;p&gt;I uploaded the latest version of Stripes (1.3) to the Marketplace last night. This version brings a few improvements, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Searching will optionally (prompts the user) defer to the phone's built-in search facility if nothing can be found through Stripes&lt;/li&gt;
&lt;li&gt;Added a "Settings" page with an option to examine images more thoroughly. This should increase the likelihood of finding a barcode in an image where the barcode doesn't fill a majority of the frame.&lt;/li&gt;
&lt;li&gt;Fixed a potential detection bug that may have kept some barcode types from being discovered in images&lt;/li&gt;
&lt;li&gt;Added better support for UPC-E barcodes (the shorter version found on some food products, like soda cans)&lt;/li&gt;
&lt;li&gt;Added additional QRCode functionality and 2-D / Data Matrix support (both are still a work in progress)&lt;/li&gt;
&lt;li&gt;Added contact information to the bottom of the "Help" page&lt;/li&gt;
&lt;li&gt;Prices for products are now sorted in ascending order&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Right now, I am constrained by the very limited camera API on all Windows Phone devices. Microsoft has promised regular updates to the platform and I am hopefull that direct camera access will become available in a future release. However, until then, a "live" barcode scanner (one in which the video from the camera is examined until a barcode is found) is impossible. Also, there is no way to modify the camera settings or save them for future use, either. Believe me when I say I am anxiously awaiting an update to this particular API. Are you listening, Microsoft?&lt;/p&gt;
&lt;p&gt;Let me also say "thank you" to the many people that are using Stripes. I hope it is a useful tool and will continue work to make it more useful, as the Windows Phone platform evolves. Please leave a comment here or contact me on Twitter @Centrolutions with your feedback.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Stripes</category>
      <category>Windows Phone</category>
      <guid>https://www.centrolutions.com/blog/2010/11/30/Stripes-13-for-Windows-Phone</guid>
      <pubDate>Tue, 30 Nov 2010 11:17:00 GMT</pubDate>
    </item>
    <item>
      <title>Windows Phone 7 Launch</title>
      <link>https://www.centrolutions.com/blog/2010/10/11/Windows-Phone-7-Launch</link>
      <description>&lt;p&gt;Microsoft officially luanched its new smartphone brand "Windows Phone" today. While I usually don't re-blog / link-blog I do want to mark the occasion and I can't really add much to the following content:&lt;/p&gt;
&lt;p&gt;&lt;a title="Windows Phone 7 Hardware Revealed: The Rundown" href="http://www.tested.com/news/windows-phone-7-hardware-revealed-the-rundown/1120/" target="_blank"&gt;http://www.tested.com/news/windows-phone-7-hardware-revealed-the-rundown/1120/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title="First Look Windows Phone 7 Hardware" href="http://channel9.msdn.com/posts/First-Look-Windows-Phone-7-Hardware" target="_blank"&gt;http://channel9.msdn.com/posts/First-Look-Windows-Phone-7-Hardware&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As a developer, I'm super excited about the new platform and have a couple of ideas in the works. However, I am a little dishearted by the fact that, at the RTM, we (developers) have no api access to the microphone, compass, the video stream from the camera, or user data files (like music and video the user loads onto the device). This is limiting, for sure. However, those things should be coming with a software update.&lt;/p&gt;
&lt;p&gt;I am excited to see the number of devices (10 by my count) announced today. Also, the price of most of them ($199 w/contract) seems reasonable compared to competing phones.&lt;/p&gt;
&lt;p&gt;Anyway, enjoy the content I linked to, above and know that I hope to post some developer content about the phone... just as soon as I can get my hands on one.&lt;/p&gt;
&lt;p&gt;Oh yea, there's also this: &lt;a title="Funny Windows Phone 7 Commercial" href="http://www.youtube.com/watch?v=EHlN21ebeak" target="_blank"&gt;http://www.youtube.com/watch?v=EHlN21ebeak&lt;/a&gt;&amp;nbsp;(Funny Commercial)&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Windows Phone</category>
      <guid>https://www.centrolutions.com/blog/2010/10/11/Windows-Phone-7-Launch</guid>
      <pubDate>Mon, 11 Oct 2010 15:53:00 GMT</pubDate>
    </item>
    <item>
      <title>Slides and Demos from Lincoln Users Group Super Laptop Meeting</title>
      <link>https://www.centrolutions.com/blog/2010/08/26/Slides-and-Demos-from-Lincoln-Users-Group-Super-Laptop-Meeting</link>
      <description>&lt;p&gt;I had a great time speaking at the &amp;ldquo;Super Laptop Meeting&amp;rdquo; last night. My 20-minute talk was &amp;ldquo;Best Practices for Custom WF Activities.&amp;rdquo; I even won the grand prize, so thanks to all of you that voted for me!&lt;/p&gt;
&lt;p&gt;If you are interested in the slides and the demo I showed, you can download them by &lt;a href="http://centrolutions.com/downloads/WFBestPractices-20min.zip" target="_blank"&gt;clicking here.&lt;/a&gt; If you want to know more about the Lincoln .NET Users Group, you can do so at &lt;a href="http://www.lincolndev.net"&gt;http://www.lincolndev.net&lt;/a&gt;&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>General</category>
      <category>Presentations</category>
      <category>WF</category>
      <guid>https://www.centrolutions.com/blog/2010/08/26/Slides-and-Demos-from-Lincoln-Users-Group-Super-Laptop-Meeting</guid>
      <pubDate>Thu, 26 Aug 2010 14:36:00 GMT</pubDate>
    </item>
    <item>
      <title>Dynamic Control Layout With WPF</title>
      <link>https://www.centrolutions.com/blog/2010/06/11/Dynamic-Control-Layout-With-WPF</link>
      <description>&lt;p&gt;If you are even a little bit familiar with the Model-View-View Model pattern and its implementation in WPF, you have probably run into the &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.aspx" target="_blank"&gt;ItemsControl&lt;/a&gt; control. Actually, even if you haven&amp;rsquo;t used MVVM, you may have used it. Somewhat like the Repeater control in ASP.NET, this control allows you to bind to a data source and do something in XAML for each of the items in that data source. In any case, let&amp;rsquo;s play around with the ItemsControl element in WPF a little bit.&lt;/p&gt;
&lt;p&gt;[more]&lt;/p&gt;
&lt;p&gt;Imagine we have the need to display a Tic-Tac-Toe board in an application. Our model might look like this:&lt;/p&gt;
&lt;pre class="brush: csharp;"&gt;    public class MoveBase
    {
        public int Row { get; set; }
        public int Column { get; set; }
    }
    public class XMove : MoveBase
    {
    }
    public class OMove : MoveBase
    {
    }&lt;/pre&gt;
&lt;p&gt;You&amp;rsquo;ll notice there is a base class and two descendent classes. Each of the inheriting classes represents a move by either the X-player or the O-player.&lt;/p&gt;
&lt;p&gt;Our View Model looks something like this:&lt;/p&gt;
&lt;pre class="brush: csharp;"&gt;    public class MainViewModel : ViewModelBase
    {
        public MainViewModel()
        {
            Moves = new ObservableCollection&amp;lt;MoveBase&amp;gt;()
            {
                new XMove() { Row = 0, Column = 0 },
                new OMove() { Row = 1, Column = 0 },
                new XMove() { Row = 1, Column = 1 },
                new OMove() { Row = 0, Column = 2 },
                new XMove() { Row = 2, Column = 2}
            };
        }
        public ObservableCollection&amp;lt;MoveBase&amp;gt; Moves
        {
            get;
            set;
        }
    }&lt;/pre&gt;
&lt;p&gt;For the sake of our example, the constructor creates some sample moves, but those could be loaded from a data store in a &amp;ldquo;real world&amp;rdquo; application. The key is the property called &amp;ldquo;Moves&amp;rdquo; that will be bound to in the View (XAML) portion of the app.&lt;/p&gt;
&lt;p&gt;The View part of the app might look like this:&lt;/p&gt;
&lt;pre class="brush: xml;"&gt;    &amp;lt;Window.Resources&amp;gt;
        &amp;lt;DataTemplate DataType="{x:Type m:XMove}"&amp;gt;
            &amp;lt;Image Source="XMove.png" Stretch="None" /&amp;gt;
        &amp;lt;/DataTemplate&amp;gt;
        &amp;lt;DataTemplate DataType="{x:Type m:OMove}"&amp;gt;
            &amp;lt;Image Source="OMove.png" Stretch="None" /&amp;gt;
        &amp;lt;/DataTemplate&amp;gt;
    &amp;lt;/Window.Resources&amp;gt;
    &amp;lt;Grid&amp;gt;
        &amp;lt;ItemsControl ItemsSource="{Binding Path=Moves}"&amp;gt;
            &amp;lt;ItemsControl.ItemContainerStyle&amp;gt;
                &amp;lt;Style&amp;gt;
                    &amp;lt;Setter Property="Grid.Row" Value="{Binding Path=Row}" /&amp;gt;
                    &amp;lt;Setter Property="Grid.Column" Value="{Binding Path=Column}" /&amp;gt;
                &amp;lt;/Style&amp;gt;
            &amp;lt;/ItemsControl.ItemContainerStyle&amp;gt;
            &amp;lt;ItemsControl.ItemsPanel&amp;gt;
                &amp;lt;ItemsPanelTemplate&amp;gt;
                    &amp;lt;Grid ShowGridLines="True"&amp;gt;
                        &amp;lt;Grid.RowDefinitions&amp;gt;
                            &amp;lt;RowDefinition /&amp;gt;
                            &amp;lt;RowDefinition /&amp;gt;
                            &amp;lt;RowDefinition /&amp;gt;
                        &amp;lt;/Grid.RowDefinitions&amp;gt;
                        &amp;lt;Grid.ColumnDefinitions&amp;gt;
                            &amp;lt;ColumnDefinition /&amp;gt;
                            &amp;lt;ColumnDefinition /&amp;gt;
                            &amp;lt;ColumnDefinition /&amp;gt;
                        &amp;lt;/Grid.ColumnDefinitions&amp;gt;
                    &amp;lt;/Grid&amp;gt;
                &amp;lt;/ItemsPanelTemplate&amp;gt;
            &amp;lt;/ItemsControl.ItemsPanel&amp;gt;
        &amp;lt;/ItemsControl&amp;gt;
    &amp;lt;/Grid&amp;gt;&lt;/pre&gt;
&lt;p&gt;You will notice there is a data template for each of the MoveBase types that will display the appropriate image for the type of move.&lt;/p&gt;
&lt;p&gt;Now, to the ItemsControl: Notice that it is bound directly to the Moves property in the ViewModel. Also, the &amp;lt;ItemsPanelTemplate&amp;gt; defines a 3x3 grid for the items in the Moves collection. Every item (an XMove or an OMove) will be placed inside of the grid defined here.&lt;/p&gt;
&lt;p&gt;The last thing to take note of is the &amp;lt;ItemsControl.ItemContainerStyle&amp;gt; element. When the ItemsControl control is rendered, it actually wraps each of the items it is bound to in a container. That means each of our images won&amp;rsquo;t be directly contained in the 3x3 grid; thus we need to assign the row and column to each item&amp;rsquo;s container. We do that with some styling. Two property setters take care of this detail.&lt;/p&gt;
&lt;p&gt;The resulting form should look like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.centrolutions.com/Blog/image.axd?picture=Desired%20result.png" rel="lightbox"&gt;&lt;img title="Desired result" style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" width="244" src="http://www.centrolutions.com/Blog/image.axd?picture=Desired%20result_thumb.png" alt="Desired result" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Because of the ItemsControl control, the placement of the images can be controlled from the View Model. Of course, this solution just displays a Tic-Tac-Toe board, but it should be a relatively small change to add a few commands and create a playable Tic-Tac-Toe board.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>WPF</category>
      <guid>https://www.centrolutions.com/blog/2010/06/11/Dynamic-Control-Layout-With-WPF</guid>
      <pubDate>Fri, 11 Jun 2010 03:27:00 GMT</pubDate>
    </item>
    <item>
      <title>Selecting Multiple Rows as a Single Column in SQL</title>
      <link>https://www.centrolutions.com/blog/2010/03/29/Selecting-Multiple-Rows-as-a-Single-Column-in-SQL</link>
      <description>&lt;p&gt;Recently, I was writing a report that selected some data out of a normalized SQL Server database. For one of the queries, I needed a &amp;ldquo;flattened&amp;rdquo; form of the rows in one of the tables. In essence, what I needed to do was turn several rows of data into a single column.&lt;/p&gt;
&lt;p&gt;[more]&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s an example of what I was looking at:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Data Tables&lt;/strong&gt;&lt;/p&gt;
&lt;table style="width: 400px;" border="1" cellspacing="0" cellpadding="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="100" valign="top"&gt;&lt;strong&gt;ParentId&lt;/strong&gt;&lt;/td&gt;
&lt;td width="100" valign="top"&gt;&lt;strong&gt;FirstName&lt;/strong&gt;&lt;/td&gt;
&lt;td width="100" valign="top"&gt;&lt;strong&gt;LastName&lt;/strong&gt;&lt;/td&gt;
&lt;td width="100" valign="top"&gt;&lt;strong&gt;Age&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="100" valign="top"&gt;1&lt;/td&gt;
&lt;td width="100" valign="top"&gt;John&lt;/td&gt;
&lt;td width="100" valign="top"&gt;Smith&lt;/td&gt;
&lt;td width="100" valign="top"&gt;26&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="100" valign="top"&gt;2&lt;/td&gt;
&lt;td width="100" valign="top"&gt;Jane&lt;/td&gt;
&lt;td width="100" valign="top"&gt;Johnson&lt;/td&gt;
&lt;td width="100" valign="top"&gt;32&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="100" valign="top"&gt;3&lt;/td&gt;
&lt;td width="100" valign="top"&gt;Jacob&lt;/td&gt;
&lt;td width="100" valign="top"&gt;Doe&lt;/td&gt;
&lt;td width="100" valign="top"&gt;29&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table style="width: 400px;" border="1" cellspacing="0" cellpadding="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="133" valign="top"&gt;&lt;strong&gt;ChildId&lt;/strong&gt;&lt;/td&gt;
&lt;td width="133" valign="top"&gt;&lt;strong&gt;ParentId&lt;/strong&gt;&lt;/td&gt;
&lt;td width="133" valign="top"&gt;&lt;strong&gt;FullName&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="133" valign="top"&gt;1&lt;/td&gt;
&lt;td width="133" valign="top"&gt;1&lt;/td&gt;
&lt;td width="133" valign="top"&gt;Johnny Smith&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="133" valign="top"&gt;2&lt;/td&gt;
&lt;td width="133" valign="top"&gt;2&lt;/td&gt;
&lt;td width="133" valign="top"&gt;Billy Johnson&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="133" valign="top"&gt;3&lt;/td&gt;
&lt;td width="133" valign="top"&gt;2&lt;/td&gt;
&lt;td width="133" valign="top"&gt;Samantha Johnson&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="133" valign="top"&gt;4&lt;/td&gt;
&lt;td width="133" valign="top"&gt;3&lt;/td&gt;
&lt;td width="133" valign="top"&gt;Megan Doe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="133" valign="top"&gt;5&lt;/td&gt;
&lt;td width="133" valign="top"&gt;3&lt;/td&gt;
&lt;td width="133" valign="top"&gt;Willy Doe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="133" valign="top"&gt;6&lt;/td&gt;
&lt;td width="133" valign="top"&gt;3&lt;/td&gt;
&lt;td width="133" valign="top"&gt;Bobby Doe&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;I&amp;rsquo;ll setup this example like this:&lt;/p&gt;
&lt;pre class="brush: sql;"&gt;DECLARE @Parents AS TABLE (
	ParentId INT PRIMARY KEY,
	FirstName VARCHAR(50),
	LastName VARCHAR(50), Age INT)
DECLARE @Children AS TABLE (
	ChildId INT PRIMARY KEY,
	ParentId INT, FullName VARCHAR(50))

INSERT INTO @Parents VALUES (1, 'John', 'Smith', 26)
INSERT INTO @Parents VALUES (2, 'Jane', 'Johnson', 32)
INSERT INTO @Parents VALUES (3, 'Jacob', 'Doe', 29)

INSERT INTO @Children VALUES (1, 1, 'Jonny Smith')
INSERT INTO @Children VALUES (2, 2, 'Billy Johnson')
INSERT INTO @Children VALUES (3, 2, 'Samantha Johnson')
INSERT INTO @Children VALUES (4, 3, 'Megan Doe')
INSERT INTO @Children VALUES (5, 3, 'Willy Doe')
INSERT INTO @Children VALUES (6, 3, 'Bobby Doe')&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;The Desired Output&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;What I needed was a table of the parents along with a column that contained a comma-delimited list of each parent&amp;rsquo;s children. Something like this:&lt;/p&gt;
&lt;table style="width: 400px;" border="1" cellspacing="0" cellpadding="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="68" valign="top"&gt;&lt;strong&gt;ParentId&lt;/strong&gt;&lt;/td&gt;
&lt;td width="73" valign="top"&gt;&lt;strong&gt;FirstName&lt;/strong&gt;&lt;/td&gt;
&lt;td width="70" valign="top"&gt;&lt;strong&gt;LastName&lt;/strong&gt;&lt;/td&gt;
&lt;td width="29" valign="top"&gt;&lt;strong&gt;Age&lt;/strong&gt;&lt;/td&gt;
&lt;td width="160" valign="top"&gt;&lt;strong&gt;Children&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="68" valign="top"&gt;1&lt;/td&gt;
&lt;td width="73" valign="top"&gt;John&lt;/td&gt;
&lt;td width="70" valign="top"&gt;Smith&lt;/td&gt;
&lt;td width="29" valign="top"&gt;26&lt;/td&gt;
&lt;td width="160" valign="top"&gt;Jonny Smith&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="68" valign="top"&gt;2&lt;/td&gt;
&lt;td width="73" valign="top"&gt;Jane&lt;/td&gt;
&lt;td width="70" valign="top"&gt;Johnson&lt;/td&gt;
&lt;td width="29" valign="top"&gt;32&lt;/td&gt;
&lt;td width="160" valign="top"&gt;Billy Johnson, Samantha Johnson&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="68" valign="top"&gt;3&lt;/td&gt;
&lt;td width="73" valign="top"&gt;Jacob&lt;/td&gt;
&lt;td width="70" valign="top"&gt;Doe&lt;/td&gt;
&lt;td width="29" valign="top"&gt;29&lt;/td&gt;
&lt;td width="160" valign="top"&gt;Megan Doe, Willy Doe, Bobby Doe&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Solution&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;secret sauce&amp;rdquo; for the solution involves the &lt;a href="http://msdn.microsoft.com/en-us/library/ms188043.aspx" target="_blank"&gt;STUFF Function&lt;/a&gt; and the &lt;a href="http://msdn.microsoft.com/en-us/library/ms189885.aspx" target="_blank"&gt;FOR XML PATH&lt;/a&gt; statement. You&amp;rsquo;ll notice that if we select from the child table using FOR XML PATH(&amp;lsquo;&amp;rsquo;):&lt;/p&gt;
&lt;pre class="brush: sql;"&gt;SELECT ', ' + c.FullName
FROM @Children c
WHERE c.ParentId=1
FOR XML PATH('')&lt;/pre&gt;
&lt;p&gt;The output looks like:&lt;/p&gt;
&lt;p&gt;XML_F52E2B61-18A1-11d1-B105-00805F49916B    &lt;br /&gt;--------------------------------------------------------     &lt;br /&gt;, Billy Johnson, Samantha Johnson&lt;/p&gt;
&lt;p&gt;Finally, if we wrap our FOR XML PATH select statement in the STUFF function, we can obtain our desired output with the following query:&lt;/p&gt;
&lt;pre class="brush: sql;"&gt;SELECT p.ParentId
            , p.FirstName
            , p.LastName
            , p.Age
            , STUFF(
                  (SELECT ', ' + c.FullName
                        FROM @Children c
                        WHERE c.ParentId=p.ParentId
                        FOR XML PATH('')
                  ), 1, 2, '') AS Children
FROM @Parents p&lt;/pre&gt;
&lt;p&gt;Once again, we see that almost anything is possible with enough SELECT statements.&lt;/p&gt;&lt;div&gt;
        &lt;div style="float: left;"&gt;
          &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;
            &lt;img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;/div&gt;
        &lt;div&gt;
          This work by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://centrolutions.com" property="cc:attributionName" rel="cc:attributionURL"&gt;Jason Williams&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"&gt;Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dct="http://purl.org/dc/terms/" href="http://centrolutions.com" rel="dct:source"&gt;centrolutions.com&lt;/a&gt;.&lt;/div&gt;
        &lt;/div&gt;&lt;hr/&gt;&lt;div&gt;If you liked this article, see more on &lt;a href="http://centrolutions.com"&gt;Centrolutions&lt;/a&gt;.&lt;/div&gt;</description>
      <author>jason@centrolutions.com (Jason Williams)</author>
      <category>Development</category>
      <category>SQL</category>
      <guid>https://www.centrolutions.com/blog/2010/03/29/Selecting-Multiple-Rows-as-a-Single-Column-in-SQL</guid>
      <pubDate>Mon, 29 Mar 2010 22:14:00 GMT</pubDate>
    </item>
  </channel>
</rss>