Bir önceki yazımda ASP.Net Web Api kulanımına giriş yapmıştık ve Get Request konusuna değinmiştik. Bu yazımda ise metodlara isim vererek, metodları direk isim ile çağırma konusundan (RPC) bahsedeceğim.

WebApiConfig.cs classındaki Register metodunun içine aşağıdaki içinde RPC gecen 2 satırlık kodu ekleyip. Url den gelen istekleri ilgili metoda yönlendireceğiz.
public static void Register(HttpConfiguration configuration)
{
configuration.Routes.MapHttpRoute(“API Default”, “api/{controller}/{id}”,
new { id = RouteParameter.Optional });

configuration.Routes.MapHttpRoute(“RPC”, “api/{controller}/{Action}/{id}”,
new { id = RouteParameter.Optional });

}

Configi ayarladıktan sonra Contorllerımızdaki Get metodlarının üst kısmına [ActionName(“GetValues”)] şeklinde url den nasıl istek yapacaksak o şekilde ActionName içine adlandırma yapacağız.Bu tanımlamayı yaptıktan sonra GetValues denilince aşağıdaki parametresiz Get metodu çalışacaktır.
public class ValuesController : ApiController
{
// GET api/
[HttpGet]
[ActionName(“GetValues”)]
public IEnumerable Get()
{
return new string[] { “value1”, “value2” };
}

// GET api//5
[HttpGet]
[ActionName(“GetValuesByID”)]
public string Get(int id)
{
return “value”;
}
}

1-)http://localhost:6624/api/values/GetValues/6
2-)http://localhost:6624/api/values/GetValuesByID/6

şeklinde Browserdan request yaparak
1-)[“value1″,”value2”]
2-) “value”

yukarıdaki çıktıları alırız.