3

I would like to code a REST based HTTP API which is accessible from .NET and any other language like for example Python.

Should I use WCF for this? Or will that make the other languages harder to interop with my API?

I want the server to carry no state at all, and I want to be able to take advantage of HTTP persistent connections because a typical clinet will make many HTTP calls in a row. (maybe 2 hours straight of calls)

I am allowed to use .NET 4.

4 Answers 4

6

There is new stuff coming in WCF to support HTTP and REST. See, http://wcf.codeplex.com/

I wrote an intro blog post here http://www.bizcoder.com/index.php/2010/10/28/wcf-http/

Sign up to request clarification or add additional context in comments.

2 Comments

The documentation is too sparse and it seems like it is changing too rapidly. I think this will be good maybe in a few months but as it is now I don't think it is good enough.
@wcf The point is you can start using System.ServiceModel.Web and you will be able to seamlessly migrate to the new stack when you are comfortable with its stability.
1

WCF can do about anything you'll need, but it has a steep learning curve. The REST Starter Kit from Microsoft is very helpful.

Another .NET REST framework is OpenRasta - I haven't personally used it, but I've heard good things about it.

Comments

1

You should consider WCF, ASP.NET MVC and WCF Data Services. This article has a reasonable discussion on the pros and cons of each appproach:

http://weblogs.asp.net/cibrax/archive/2010/10/08/asp-net-mvc-wcf-rest-and-data-services-when-to-use-what-for-restful-services.aspx

See also this SO question: ASP.NET MVC and WCF

Comments

0

I suggest you try using WCF. Create a simple web service first (with only one call) and see if it suits your needs. Shouldn't take you long to do this. You may find this tutorial useful.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.