<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.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>Abu's blog  : REST</title><link>http://msmvps.com/blogs/abu/archive/tags/REST/default.aspx</link><description>Tags: REST</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>RESTful WCF Service</title><link>http://msmvps.com/blogs/abu/archive/2009/07/08/restful-wcf-service.aspx</link><pubDate>Wed, 08 Jul 2009 18:10:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1698782</guid><dc:creator>abu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/abu/rsscomments.aspx?PostID=1698782</wfw:commentRss><comments>http://msmvps.com/blogs/abu/archive/2009/07/08/restful-wcf-service.aspx#comments</comments><description>&lt;p&gt;RESTful WCF Services works by identifing the Resources &amp;amp; Action from Uniform Resource Identifiers (URIs).&lt;/p&gt;
&lt;p&gt;A RESTful web service is called by a unique URI to refer a resource and HTTP verb is to define actions to the resource.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HTTP Method - Verb&lt;br /&gt;&lt;/strong&gt;GET &amp;ndash; Fetch &lt;br /&gt;PUT &amp;ndash; Update/Insert &lt;br /&gt;DELETE &amp;ndash; Delete &lt;br /&gt;POST &amp;ndash; Append &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;webHttpBinding&lt;/strong&gt; is a new WCF binding in Fx 3.5 to develop RESTful services. This does not use SOAP envelopes HTTP and HTTPS Transports. It supports XML, JSON and Binary (streams).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;WebServiceHost&lt;/strong&gt; is a specialized SerivceHost which automatically configures address, binding, contract. &lt;br /&gt;If no endpoint is defined, WebServiceHost automatically creates a default endpoint. WebServiceHost adds WebHttpBehavior and disables the HTTP Help page and the Web Services Description Language (WSDL) GET functionality.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;[&lt;strong&gt;WebGet&lt;/strong&gt;] And [&lt;strong&gt;WebInvoke&lt;/strong&gt;] attribute&lt;br /&gt;Binds a WCF operation to URI space and HTTP method Indicate the HTTP Method for the operation &lt;/p&gt;
&lt;p&gt;WebGet &amp;ndash; No method is require&lt;/p&gt;
&lt;p&gt;WebInvoke &amp;ndash; All verbs other than GET (Method parameter takes in the name of the Verb) &lt;/p&gt;
&lt;p&gt;Other&amp;nbsp;attributes can mentioed&lt;br /&gt;BodyStyle &amp;ndash; Indicates whether the Request/ Response are wrapped or not &lt;br /&gt;RequestFormat &amp;ndash; Json or Xml &lt;br /&gt;ResponseFormat &amp;ndash; Json or Xml &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UriTemplate&lt;/strong&gt; &amp;ndash; Rich binding to URI UriTemplate String that allows define the structure/pattern of the URI&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1698782" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/abu/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://msmvps.com/blogs/abu/archive/tags/REST/default.aspx">REST</category><category domain="http://msmvps.com/blogs/abu/archive/tags/WCF/default.aspx">WCF</category></item><item><title>REST in WCF </title><link>http://msmvps.com/blogs/abu/archive/2008/12/23/rest-in-wcf.aspx</link><pubDate>Tue, 23 Dec 2008 14:26:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1657547</guid><dc:creator>abu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/abu/rsscomments.aspx?PostID=1657547</wfw:commentRss><comments>http://msmvps.com/blogs/abu/archive/2008/12/23/rest-in-wcf.aspx#comments</comments><description>&lt;p&gt;The series blog post on REST in WCF
&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/bags/archive/2008/05/28/rest-in-wcf-part-i-rest-overview.aspx"&gt;REST in WCF - Part I (REST Overview)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/bags/archive/2008/05/29/rest-in-wcf-part-ii-ajax-friendly-services-creating-the-service.aspx"&gt;REST in WCF - Part II (AJAX Friendly Services, Creating The Service)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/bags/archive/2008/05/30/rest-in-wcf-part-iii-ajax-friendly-services-consuming-the-service.aspx"&gt;REST in WCF - Part III (AJAX Friendly Services, Consuming The Service)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/bags/archive/2008/06/09/rest-in-wcf-part-iv-hi-rest-exposing-a-service-via-get-configuring-the-service.aspx"&gt;REST in WCF - Part IV (HI-REST - Exposing a service via GET - Configuring the service)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/bags/archive/2008/06/10/rest-in-wcf-part-v-hi-rest-exposing-a-service-via-get-the-servicecontract-and-implementation.aspx"&gt;REST in WCF - Part V (HI-REST - Exposing a service via GET - The ServiceContract and Implementation)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/bags/archive/2008/06/12/rest-in-wcf-part-vi-hi-rest-consuming-our-get-service-via-ajax.aspx"&gt;REST in WCF - Part VI (HI-REST - Consuming our GET service via AJAX)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/bags/archive/2008/06/12/rest-in-wcf-part-vii-hi-rest-implementing-insert-and-update.aspx"&gt;REST in WCF - Part VII (HI-REST - Implementing Insert and Update&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/bags/archive/2008/06/14/rest-in-wcf-part-viii-hi-rest-implementing-delete.aspx"&gt;REST in WCF - Part VIII (HI-REST - Implementing Delete)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/bags/archive/2008/08/22/rest-in-wcf-part-ix-controlling-the-uri.aspx"&gt;REST in WCF - Part IX - Controlling the URI&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://blogs.msdn.com/bags/archive/2008/08/28/rest-in-wcf-part-x-supporting-caching-and-conditional-get.aspx"&gt;REST in WCF - Part X - Supporting Caching and Conditional GET&lt;/a&gt; &lt;/li&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1657547" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/abu/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://msmvps.com/blogs/abu/archive/tags/REST/default.aspx">REST</category><category domain="http://msmvps.com/blogs/abu/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://msmvps.com/blogs/abu/archive/tags/WCF/default.aspx">WCF</category></item><item><title>Url Rewriting using WCF</title><link>http://msmvps.com/blogs/abu/archive/2008/12/22/url-rewriting.aspx</link><pubDate>Mon, 22 Dec 2008 21:26:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1657552</guid><dc:creator>abu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/abu/rsscomments.aspx?PostID=1657552</wfw:commentRss><comments>http://msmvps.com/blogs/abu/archive/2008/12/22/url-rewriting.aspx#comments</comments><description>&lt;p&gt;One of my interesting thing&amp;nbsp;is &amp;quot;URL Rewriting&amp;quot;. The first time I have implemented it through implementing HTTPHandler using .NET 1.1. Same concept I have applied to a Document Management Service [DMS] project to PUT the document and GET the document by an .ASMX&amp;nbsp;WebService. There I added verb * using wild charater&amp;nbsp;in IIS 6.0 as well as added&amp;nbsp; &amp;lt;httpHandler&amp;gt; node in web.config. Then we got in different way in .NET 2.0. Finally this time we got using URITemplate, WebGet, WebInvoke in WCF 3.5 SP1.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;UriTemplate&lt;/strong&gt; class provides methods for working with sets of URIs that share a common structure for URL Rewriting.&lt;br /&gt;As this follows based on the URL pattern comprises left portion of URI which is fixed and rest is dynamic where certain parameter is getting manipulated or changed to request a page. System.UriTemplate provides runtime support for URI template syntax.&lt;br /&gt;UriTemplate is to manipulate parameters using ByName and ByPosition.&lt;br /&gt;[&lt;strong&gt;WebGet&lt;/strong&gt;] - supports HTTP GET method&lt;br /&gt;&lt;strong&gt;WebOperationContext&lt;/strong&gt; provides easy access to Web specifics (e.g., headers, status codes)&lt;br /&gt;[&lt;strong&gt;WebInvoke&lt;/strong&gt;] supports other HTTP methods; POST is default method&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/endpoint/archive/2008/08/22/rest-in-wcf-part-ix-controlling-the-uri.aspx"&gt;http://blogs.msdn.com/endpoint/archive/2008/08/22/rest-in-wcf-part-ix-controlling-the-uri.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/jgalloway/archive/2007/05/02/mix07-wcf-adding-system-uritemplate-webget-and-webinvoke.aspx"&gt;http://weblogs.asp.net/jgalloway/archive/2007/05/02/mix07-wcf-adding-system-uritemplate-webget-and-webinvoke.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Corresponding to previous version&amp;#39;s URL concept the available resources are in&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms972974.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms972974.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.simple-talk.com/dotnet/asp.net/a-complete-url-rewriting-solution-for-asp.net-2.0/"&gt;http://www.simple-talk.com/dotnet/asp.net/a-complete-url-rewriting-solution-for-asp.net-2.0/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1657552" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/abu/archive/tags/REST/default.aspx">REST</category><category domain="http://msmvps.com/blogs/abu/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://msmvps.com/blogs/abu/archive/tags/WCF/default.aspx">WCF</category><category domain="http://msmvps.com/blogs/abu/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/abu/archive/tags/.NET/default.aspx">.NET</category></item></channel></rss>