Microsoft is encouraging developers to use asp.net web api for creating Restful services. I have done some googling
http://www.matlus.com/asp-net-web-api-with-webforms/
it seems to me that i can use it with .net 4.5 but not with 4.0. In .net 4.0 what are my options for creating Restful service. is it only wcf web api or something else that should be used?
You can create asp.net web api service without installing .net 4.5, you only need to install asp.net mvc 4 for VS2010 and normally use for .net 4.0. Alternative, you can use WCF service or asp.net mvc controllers for REST architecture, see this example with asp.net mvc