<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The .NET Endpoint : Endpoint.tv</title><link>http://blogs.msdn.com/endpoint/archive/tags/Endpoint.tv/default.aspx</link><description>Tags: Endpoint.tv</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>endpoint.tv - Getting Control of the URI with RESTful WCF Services</title><link>http://blogs.msdn.com/endpoint/archive/2008/07/28/endpoint-tv-getting-control-of-the-uri-with-restful-wcf-services.aspx</link><pubDate>Mon, 28 Jul 2008 16:40:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8784235</guid><dc:creator>ronjacobs</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/endpoint/comments/8784235.aspx</comments><wfw:commentRss>http://blogs.msdn.com/endpoint/commentrss.aspx?PostID=8784235</wfw:commentRss><description>&lt;p&gt;RESTFul people want to control the URI of their services.&amp;#160; They focus on building a good information architecture that describes the resources their site provides.&amp;#160; Historically most web sites described resources in terms of files and paths in the virtual root of the web server.&amp;#160; But what if your resources are coming from a database and there are no files to speak of?&amp;#160; What is the URI of your service then?&lt;/p&gt;  &lt;p&gt;The default behavior of a RESTful web service&amp;#160; in WCF is that you have a SVC file like &amp;quot;MyService.svc&amp;quot; and the first segment of your URI (after the host) is the path to the SVC file on your web site.&amp;#160; The remaining portion of the URI is the name of your method and a query string arguments for the parameters.&lt;/p&gt;  &lt;p&gt;For example&lt;/p&gt;  &lt;pre&gt;http://www.example.com/myservice.svc/GetWine?wineId=17&lt;/pre&gt;

&lt;p&gt;You can partially control this URI by applying a URI template.&amp;#160; So for example in this case we could attribute the operation contract with a template like this&lt;/p&gt;

&lt;pre&gt;[WebGet(UriTemplate=&amp;quot;wine/{wineId})]&lt;/pre&gt;

&lt;p&gt;This will change the portion of the URI &lt;i&gt;after&lt;/i&gt; the .svc extension so our URI will look like this&lt;/p&gt;

&lt;pre&gt;http://www.example.com/myservice.svc/wine/17&lt;/pre&gt;

&lt;p&gt;Nice, but what if you want to eliminate the .svc extension? Well there are several ways you can get this done&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Scott Guthrie has a great blog post about this - &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx"&gt;Tip/Trick: &lt;/a&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx"&gt;Url&lt;/a&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx"&gt; Rewriting with ASP.NET&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;Jon Flanders (MVP) blogged about writing an HttpModule - &lt;a href="http://www.masteringbiztalk.com/blogs/jon/PermaLink,guid,9e0d8d1e-ac7c-49b5-8072-bde42609f5db.aspx"&gt;Using WCF &lt;/a&gt;&lt;a href="http://www.masteringbiztalk.com/blogs/jon/PermaLink,guid,9e0d8d1e-ac7c-49b5-8072-bde42609f5db.aspx"&gt;WebHttpBinding&lt;/a&gt;&lt;a href="http://www.masteringbiztalk.com/blogs/jon/PermaLink,guid,9e0d8d1e-ac7c-49b5-8072-bde42609f5db.aspx"&gt; and &lt;/a&gt;&lt;a href="http://www.masteringbiztalk.com/blogs/jon/PermaLink,guid,9e0d8d1e-ac7c-49b5-8072-bde42609f5db.aspx"&gt;WebGet&lt;/a&gt;&lt;a href="http://www.masteringbiztalk.com/blogs/jon/PermaLink,guid,9e0d8d1e-ac7c-49b5-8072-bde42609f5db.aspx"&gt; with nicer &lt;/a&gt;&lt;a href="http://www.masteringbiztalk.com/blogs/jon/PermaLink,guid,9e0d8d1e-ac7c-49b5-8072-bde42609f5db.aspx"&gt;Urls&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;The IIS7 Team Recently Released a &lt;a href="http://learn.iis.net/page.aspx/460/using-url-rewrite-module/"&gt;URL Rewrite Module&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;For IIS 5/6 you will have to build//use an ISAPI filter (See ScottGu's post for some free ones) &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My colleague &lt;a href="http://blogs.msdn.com/bags/"&gt;Rob Bagby&lt;/a&gt; has created a nice &lt;a href="http://channel9.msdn.com/posts/rojacobs/endpointtv-Controlling-the-URI-in-RESTful-WCF-with-Rob-Bagby/"&gt;screencast&lt;/a&gt; for endpoint.tv with a complete walkthrough of controlling the URI that features&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb675245.aspx"&gt;UriTemplate&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://hyperthink.net/blog/we-are-pleased-to-bring-you-new-features-in-net-3-5-sp1/"&gt;New WCF 3.5 SP1 features&lt;/a&gt; for URI control like compound segments and default values &lt;/li&gt;

  &lt;li&gt;A URL Rewrite Rule for the &lt;a href="http://learn.iis.net/page.aspx/460/using-url-rewrite-module/"&gt;IIS7 URL Rewrite Module&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Be sure to &lt;a href="http://channel9.msdn.com/posts/rojacobs/endpointtv-Controlling-the-URI-in-RESTful-WCF-with-Rob-Bagby/"&gt;check it out&lt;/a&gt; and build some RESTful WCF Services with the URI just the way you want it.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8784235" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/endpoint/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/endpoint/archive/tags/REST/default.aspx">REST</category><category domain="http://blogs.msdn.com/endpoint/archive/tags/Endpoint.tv/default.aspx">Endpoint.tv</category></item><item><title>Do you feel like a WCF Noob?</title><link>http://blogs.msdn.com/endpoint/archive/2008/07/02/do-you-feel-like-a-wcf-noob.aspx</link><pubDate>Wed, 02 Jul 2008 18:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8681871</guid><dc:creator>ronjacobs</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/endpoint/comments/8681871.aspx</comments><wfw:commentRss>http://blogs.msdn.com/endpoint/commentrss.aspx?PostID=8681871</wfw:commentRss><description>&lt;P&gt;Whenever I pick up a new technology I must admit that I feel kind of stupid, like a dummy or a complete idiot.&amp;nbsp; Perhaps that is why there are all those "For Dummies" books out there.&amp;nbsp; Of course you aren't actually dumb, your just a &lt;A class="" title=noob href="http://en.wikipedia.org/wiki/Noob#Alternative_spellings" target=_blank mce_href="http://en.wikipedia.org/wiki/Noob#Alternative_spellings"&gt;noob&lt;/A&gt;.&amp;nbsp; When you are new to something you don't know what you are supposed to do or what certain terms mean or those little tips and tricks that the experienced people seem to have.&lt;/P&gt;
&lt;P&gt;In many ways, I'm still a noob when it comes to WCF and WF.&amp;nbsp; I'm still learning and shedding my noobness a little more each day and to help you we've created a video series on endpoint.tv called &lt;A class="" title="The Total Noobs Guide to WCF" href="http://channel9.msdn.com/posts/rojacobs/endpointtv-The-Total-Noobs-Guide-to-WCF-Lesson-1-My-First-WCF-Service/" target=_blank mce_href="http://channel9.msdn.com/posts/rojacobs/endpointtv-The-Total-Noobs-Guide-to-WCF-Lesson-1-My-First-WCF-Service/"&gt;The Total Noobs Guide to WCF&lt;/A&gt;.&amp;nbsp; In this first episode I'm going to teach you some basic concepts and get you going on your first service.&amp;nbsp; It only takes about 15 minutes so you can do it on your lunch break and get ahead of the rest of those noobs in your office.&lt;/P&gt;
&lt;P&gt;So check it out and let us know what you think.&amp;nbsp; Start sheding your noobness and pick up some WCF skillz.&lt;/P&gt;
&lt;P&gt;&lt;A class="" title="Ron Jacobs" href="http://blogs.msdn.com/rjacobs" mce_href="http://blogs.msdn.com/rjacobs"&gt;Ron Jacobs&lt;/A&gt; - host of endpoint.tv&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8681871" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/endpoint/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/endpoint/archive/tags/Noob/default.aspx">Noob</category><category domain="http://blogs.msdn.com/endpoint/archive/tags/Endpoint.tv/default.aspx">Endpoint.tv</category></item></channel></rss>