WCF Rest Service Kullanımı

WCF Rest Service Kullanımı

REST (Representational state transfer) api  nedir diye soracak olursak client – server arasında bir haberleşme aracı diyebiliriz. Yani SOAP yerine REST kullanarak  http protokolü üzerinden servis kullanımı yapabiliriz. Bazı REST methotları vardır. Bunlar;

  • GET:  Listeleme ve görüntüleme
  • POST: Kayıt ekleme
  • PUT: Güncelleme
  • DELETE: Silme

Şimdi WCF üzerinde REST service nasıl kullanılır onu inceleyelim. Bir WCF Service Application oluşturalım

2016-08-23_03-52-18

Daha sonra projemize add new item diyerek WCF Service ekleyelim.

2016-08-23_03-33-06

Eklediğimiz servisde benim projemde IRestService.cs kısmına aşağıdaki kodları yazıyoruz. Burada xml ve json iki örnekte birlikte gösterilmiştir. Method kısmında “GET” örneğini veriyorum. UriTemplate kısmında url üzerinden nasıl erişeceksek o şekilde string belirtiyoruz.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace RestService
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IRestService" in both code and config file together.
    [ServiceContract]
    public interface IRestService
    {
        [OperationContract]
        [WebInvoke(
            Method = "GET",
            ResponseFormat = WebMessageFormat.Xml,
            BodyStyle = WebMessageBodyStyle.Wrapped,
            UriTemplate = "xml/{id}"
            )]
        string XMLSonuc(string id);

        [WebInvoke(
            Method = "GET",
            ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Wrapped,
            UriTemplate = "json/{id}"
            )]
        string JSONSonuc(string id);
    }
}

 

RestService.svc.cs kısmında da methodlarımızı oluşturuyoruz.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace RestService
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "RestService" in code, svc and config file together.
    // NOTE: In order to launch WCF Test Client for testing this service, please select RestService.svc or RestService.svc.cs at the Solution Explorer and start debugging.
    public class RestService : IRestService
    {
        public string XMLSonuc(string id)
        {
            return "Gönderilen id = " + id;
        }

        public string JSONSonuc(string id)
        {
            return "Gönderilen id = " + id;
        }
    }
}

Web.config kısmında endpoint adresi ve diğer ayarlamaları yapıyoruz.

2016-08-23_04-06-37

Çalıştırdığımızda aşağıdaki gibi sonuçlarla karşılaşacağız.

2016-08-23_04-08-23
2016-08-23_04-08-47

 

 

Ajax ile kullanımı ise aşağıdaki gibi olacaktır.

<script type="text/javascript">
        function KayitGetir() {             
            $.ajax({
                type: "POST",
                url: "http://localhost:56519/RestService.svc/json/3",
                data: {},
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (result) {
                   //işlemler....
                },
            });
        }
    </script>

Share this post

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


Powered by themekiller.com