Sayfalar

10 Temmuz 2012 Salı

COUCHBASE VE .NET


                 COUCHBASE KULLANARAK .NET PROJELERİ GELİŞTİRMEK
      Araştırma konusu olarak verilen Couchbase ile C# arasındaki bağlantıyı sağlamak için çeşitli araştırmalar yaptım.Öncelikle daha önce hiç duymadığım bir konu üzerinde araştırma yapmak beni korkutmuştu. Daha sonra yavaş yavaş araştırmalarıma başladım. Genel olarak araştırmalarımı www.couchbase.com adresinden yola çıkarak yaptım. İlk önce Couchbase’in genel yapısını,sunucusunu,özelliklerini ve bize sağladığı kolaylıkları anlamaya çalıştım. Bir haftalık ön araştırmadan sonra C# ile Couchbase ‘in bağlantısını kurmak için çalıştım. En başta http://www.couchbase.com/develop/net/current adresinden , Couchbase.NET SDK altında bulunan Download Client Library  ile .NET SDK sını indiriyoruz.Daha sonra visual studio ‘u  açıp indirdiğimiz bu SDK dosyalarını referanslar bölümüne eklememiz gerekir.Bu durumları  basamaklar şeklinde aşağıda göstermeye çalışacam.

1-Visual Studio 2010’u açın ve HelloCouchbase(herhangi bir isim verebilirsiniz) adında bir proje oluşturun.
2-File->New->Project
3-C# bölmünü seçip->Windows->Console Application bölümlerini seçiniz
4-Proje isminizi veriniz(Örneğin:HelloCouchBase)

5-Daha sonra oluşturduğunu projenin üstüne gelerek yani HelloCouchBasenin üzerine gelip sağ tıklayın Add->New Folder->Dosya isminizi veriniz(örneğin:Kutuphane)
6-Daha sonra indirdiğiniz .Net SDK klasöründeki .dll,.pdb,.xml uzantılı  dosyaları Kutuphane klasörüne kopyalayın
7-Sonra References bölümüne sağ tıklayın Add references kısmını seçin
8-Çıkan ekranda Browser bölümünü tıklayın ve karşınıza çıkan Enyim.Caching.ve  Couchbase.dll dosyalarına referanslar kısmına ekleyiniz.
9-Sonra Couchbase .NET 4.0 da çalıştığı için Solutions bölümünün altındaki Properties bölümüne çift tıklayın,açılan sayfada Target Framework bölümüne gelerek .NET Framework 4.0 ı seçin.

10-Sonra References kısmına tekrardan sağ tıklayın Add references kısmını seçin,çıkan pencerede .Net kısmını seçin ve "System.Web (Version 4.0.0.0)" referansalar kısmına ekleyiniz.

11-Program.cs altında app.config diye bir bölüm oluşacaktır. App config’ üzerine gelerek tıklayın ve açılan sayfanın içinde aşağıdaki kod bloğunu yapıştırınız.
<?xml version="1.0"?>
<configuration>
 
  <configSections>
    <section name="couchbase" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/>
  </configSections>
 
  <couchbase>
    <servers bucket="default" bucketPassword="">
      <add uri="http://127.0.0.1:8091/pools/default"/>
    </servers>
  </couchbase>
 
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>
 

12-Program cs sayfasını açarak kod yazmaya başlayabilirsiniz artık.Örnek kod aşağıda verilmiştir;
using System;
using Enyim.Caching.Memcached;
using Couchbase;
 
namespace HelloCouchbase
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var client = new CouchbaseClient())
            {
                String spoon = null;
 
                if ((spoon = client.Get<string>("Spoon")) == null)
                {
                    Console.WriteLine("There is no spoon!");
                    client.Store(StoreMode.Set,
                                 "Spoon",
                                 "Hello, Couchbase!",
                                 TimeSpan.FromMinutes(1));
                }
                else
                {
                    Console.WriteLine(spoon);
                }
            }
        }
    }
}

13-Bu kod bloğunu çalıştırdığınızda ilk önce ekrana alttaki çıktı gelmelidir
There is no spoon!
Press any key to continue

13-Daha sonra tekrar ctrl f5  yaptığınızda ekranda alttaki çıktı gelmelidir.
Hello, Couchbase!
Press any key to continue

14-İşte bu kısımda bir hata ile karşılacaksınız ekranda aşağıdaki çıktı verilmeyecektir.
Hello, Couchbase!
 15-Bunun temel  sebebi ise ip adresi uyuşmazlığıdır. Yaptığım araştırmalar sonucu bu sorunun çözümünü de aşağıda adım adım anlatmaya çalışacağım.
15.1-
C:\Program Files\Couchbase\Server\bin\service_stop.bat
Bu dosyayı açın ve service_stop çalıştırınız.
15.2-Daha sonra
C:\Program Files\Couchbase\Server\bin\service_unregister.bat
Bu dosyayı çalıştırınız.
15.3-  Bunları yaptıktan sonra
 C:\Program Files\Couchbase\Server\bin\service_register.bat

Dosyayısa gelip sağ tıklayın ve düzenle diyerek;
NS_NAME=ns_1@%IP_ADDR%
 Kısmına geliniz ve %IP_ADDR% kısmını silip onun yerine 127.0.0.1 yazınız.Daha sonra
C:\Program Files\Couchbase\Server\bin\service_register.bat
Dosyasını çalıştırınız.

15.4-
C:\Program Files\Couchbase \Server\var\lib\couchbase\mnesia.

Mnesia adlı klasörün içindeki bütün dosyaları siliniz ama kesinlikle bu klasörü de silmeyiniz.
15.5- Son adım olarak da
C:\Program Files\Couchbase\Server\bin\service_start.bat
 Bu dosyayı çalıştırınız.Bunu yaptıktan sonra size yeni bir server sayfası gelecektir ve sizin de tekrardan setup ayarlarını yapmanız gerekecektir.

Couchbase ile program geliştirmeye başladığınız zaman birden çok sunucu kullanmak isteyebilirsiniz. Bunu yapmak için de birkaç işlem yapmanız gerekmektedir.
1-ilk önce  Couchbase sunucuyu açın ve Server Nodes bölümüne gelip tıklayın açılan sayfada Add Server diyerek istediğiniz Server ip adresini giriniz ve serveri  ekleyiniz.


2-Sunucuyu ekledikten sonra açılacak sayfada Rebalance diye bir buton olacaktır ona tıklayın.

Bunu yaptıktan sonra diğer Serveri açın ve giriş yapın.Zaten serveri eklediğiniz zaman eklemiş olduğunuz server setup ayarlarına dönecektir o bölümü tamamlamanız gerekir.Ya da Ana server’in kullanıcı adı ve şifresiyle de diğer Server’ e giriş yapabilirsiniz.Bunu yanında da kod sayfanızı açıp App.config dosyasına da bu serverin Ip adresini eklemeniz gerekecektir.

Daha detaylı bilgiye bu adresten ulaşabilirsiniz.

Hiç yorum yok:

Yorum Gönder