Welcome to Windows Workflow Foundation (WF)
Top Tasks :

WF Community Bloggers

Using WCF WebHttpBinding and WebGet with nicer Urls

I've been playing with the REST support in .NET 3.5. I'm really enjoying the programming model, but I am not enjoying the .svc file extension in my URLs (I'm not the only person I know who has felt this way for quite some time). IMO (from what little I know about the REST style) URLs shouldn't have things like extensions in them (or preferably not). So with they way WCF endpoint hosting in IIS works (obviously if I am hosting a webHttpBinding in a non-IIS host I can totally control the URLs, but I am writing a REST API to something where I plan to be hosting inside of IIS). This would end up being my url: http://host/albumn.svc/instance/ and I want: http://host/albumn/instance/ The .svc extension in the URL doesn't seem opaque to me. I tried modifying the HttpHandler element for the svc file - but that didn't work for various reasons. So I ended up writing a simple HttpModule to do URL re-writing (using HttpContext.RewritePath). I didn't really want any config relating to URLs - so this module assumes you are serving up only REST based URLs from a web application. If you were going to use it and serve up other handlers (like aspx files etc) it would need to be modified. Here is the module code: public class RestModule : IHttpModule { public void Dispose() { } public void Init(HttpApplication app) { app.BeginRequest += delegate { HttpContext ctx = HttpContext.Current; string path = ctx.Request.AppRelativeCurrentExecutionFilePath; int i = path.IndexOf(' / ', 2); if (i>0) { string Read More...
Published Saturday, August 18, 2007 3:39 PM by Jon Flanders' Blog
Filed under:
Anonymous comments are disabled

<August 2007>
SuMoTuWeThFrSa
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

Copyright © 2006 Microsoft Corporation. All Rights Reserved. | Terms of Use | Privacy Statement | Contact Us