One of the most common ways to create a RESTful service using the enviroment of Our Master Bill is to adopt Web Api. Web Api was created to work mainly inside an ASP.NET MVC project...but when we are dealing with a Web Forms project?
Luckly the best scientists from all over the world proved that is it possible with a relatively small effort:
- Let's start with the basics: if you need to run Web Api on your web application you need to build it AT LEAST on framework 4.0
- Modify Global.asax as follows (this is made to handle the routing of the url):
//imports the necessary namespaces using System.Web.Routing using System.Web.Http public class Global : System.Web.HttpApplication { protected void Application_Start(object sender, EventArgs e) { //add the routing RouteTable.Routes.MapHttpRoute( "DefaultApi", "api/{controller}/{id}", new { id = System.Web.Http.RouteParameter.Optional }); } }
-
Create in the App_Code folder a class (or more classes) that inherits from ApiController, this will contain every service that you want to provide on your service:
public class YourApiController : ApiController { public string HelloWarLord() { return "Hello Kitty"; } public object GetSomethingById(int id) { return new NuclearBomb(id); } }
- the URL to call in this case is [urlwebapplication]/api/YourApi/ to call HelloWarLord and [urlwebapplication]/api/YourApi/1 to call GetSomethingById. obviously this logic changes depending on the routing indicated previously on Application_Start function, to modify this behaviour you need to jerk with MapHttpRoute function.
Nessun commento:
Posta un commento