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.