10 Mart 2012 Cumartesi

Adım Adım WCF-1

Herkese merhabalar;
“Adım Adım WCF” makaleler dizimizde Microsoft un yeni servis yönelimli mimarisi wcf i sıfırdan incelemeye başlayıp, adım adım uzman yaklaşımlara doğru ilerleyeceğiz. Öncelikle “neyi inceliyoruz”, “neden wcf” sorularına ışık tutarak başlayalım.

WCF Nedir?

Microsoft un şimdiye kadarki dağıtık mimari uygulamalarını incelediğimizde karşımız şöyle kabarık bir liste çıkıyor:
WCF
  • ASP.NET Web Services (ASMX)
  • Web Services Enhancements (WSE)
  • Messaging (MSMQ)
  • .NET Enterprise Services (ES)
  • .NET Remoting
tüm bu uygulamar ayrı ayrı, bir bütünlük olmaksızın host edilip, herbiri için farklı işlemler, farklı yaklaşımlar gerekiyordu. WCF tüm bu yapıların biraraya getirilmesini ve optimum çözüm sunarak ,standartları olan, güvevli SOA uygulamalarına imkan kılıyor.

WCF temelinde servis üç adımda geliştirilir.
1. Servis yaratılır.(Creating)
2. Servise bir adres bağlanır ve host edilir. (Hosting)
3. Client tarafından eklenerek kullanılır.(Consuming)
Yukarıdaki üç adımı uygulayarak örnek bir servis geliştirmeye ileriki makalelerde başlayacağız fakat öncesinde WCF i incelemeye devam edelim.

WCF ve ABC??

wcfabc
.Bir servis en az bir tane endpoint e sahiptir. Endpointler servisin iletişimini sağlayan ve iletişim kurallarını belirleyen yapılardır. Client tarafında bir tane, sunucu tarafında ise n tane olabilir. Bunun anlamı n tane farklı iletişim yolu. Endpointlerin niteliklerini belirleyende işte başlıkta belirttiğimiz ABC. Peki ama nedir bu ABC ne işe yarar?
Address
Her web uygulamasının bir adresi olduğu gibi WCF servisimizinde bir adresi olmalı. WCF aşağıdaki protokolleri kullanarak servis çalıştırmaya imkan verir.:
  • HTTP (http:// yada https:// )
  • TCP (net.tcp :// )
  • Peer 2 Peer (net.p2p://)
  • IPC (Inter-Process Communication over named pipes)(net.pipe://)
  • MSMQ (net.msmq://)

Bindings
Binding servisin erişebilirliği ile ilgilenir. Servise dış dünyanın hangi kurallar ile bağlanabileceğini belirler.
wcfarchitecture[7]
Bir binding tipi:
1.Protocol : İstenilen herhangi protokol
2.Encoder : text/xml için HTTP binding, binary xml için TCP binding olabilir
3.Transport: HTTP, TCP, NamedPipes ya da MSMQ.
ile kurallar belirler.
Contract
Contract, client ın servis ile yapabileceği işlemleri ifade eder.
WCF dünyasına WCF in genel yapısını ve temel kurallarını inceleyerek başladık. Bir sonraki makalemizde, Contract konusunu biraz daha detaylandırıp, bir contract örneği ile wcf kodlamaya da başlamış olacağız. Bir sonraki makalede görüşmek üzere.

Kaynak: http://simsekonur.blogspot.com/2009/03/adm-adm-wcf-1.html

Programsal Olarak WCF Hizmeti Oluşturma

  Bir önceki makalemle birlikte Windows Communication Foundation’ın (WCF) detaylarını sizlerle paylaşacağım seriye başlamış ve giriş düzeyindeki bilgiler ile basit bir hizmet oluşturarak uygulamamız üzerinden bu hizmeti istemcilerimize sunmuştuk. Üstelik hizmetimiz oluştururken de minimum düzeyde kod yazmış ve yapılandırma işlerimizi tamamen app.config dosyası üzerinden gerçekleştirmiştik. Pek çok WCF senaryosunda bu şekilde statik olarak yapılandırılmış hizmetler biz yazılım geliştiricilerin işini görse de, benim gibi tüm sürece hakim olmak isteyen bir insansanız ya da dinamik olarak WCF hizmetleri sunmanızı gerektiren iş mantıklarınız bulunuyorsa şüphesiz ki elinizi biraz koda bulaştırmanız gerekecektir.

WCF’e Giriş

   .Net framework 3.0 ile hayatımızın bir parçası olan Windows Communication Foundation (WCF) hakkında yazmayı düşündüğün makalelerden bu ilkinde öncelikle birlikte WCF hizmetlerine ısınmamızı hedefliyorum, hedefim sizleri fazla da yormadan kolayca nasıl bir WCF hizmeti oluşturabileceğinizi paylaşmak.

7 Mart 2012 Çarşamba

10 başlıkta kentsel dönüşüm

Yasa son dönemeçte, yakında yıkım başlayacak. Ancak yasanın tam anlaşılmaması vatandaşı tedirgin ediyor.
Ülke genelinde 10 milyon konutun yıkılmasını kolaylaştıracak olan yasa taslağı tamamlanıp Meclis İnceleme Komisyonu'na ulaştırıldı. Komisyon incelemelerini tamamladıktan sonra tasarıyı milletvekillerinin onayını almak için meclise gönderecek. Tasarının meclisin onayını almasından sonra ülke genelinde önceden tespitleri yapılmış risk arz eden binaların yıkımı ve güçlendirilmesi için start verilecek.

Linq aracılılığıyla basit bir DRY (don't repeat yourself) yöntemi


Programlama dünyasında aynı veya benzer amacı taşıyan kod bloklarının uygulamanızın farklı yerlerinde defalarca yer alması istenen bir durum değildir (don't repeat yourself).

3 Mart 2012 Cumartesi

web.config controls add

Uygulama geliştirirken kendinize ait basecontroller yazmışsınızdır ve hangi sayfada kullanacaksınız mutlaka sayfa bu kontrolleri register etmeniz gerekir. Yada AjaxControlToolKit’i kullanıyorsunuzdur ve yine hangi sayfa kullanacak iseniz yine bu dll i sayfada register etmeniz gerekir. Tabi bu tanımlamayı web.config üzerinde yapmamış iseniz. Her sayfada register etmek yerine web.config te Pages nod ‘unda bir kere register eder iseniz uygulamanıza eklediğiniz her sayfada artık ekli olarak gelecektir. Bunun için web.configte aşağıdaki düzeltmeyi yapmanız gerekmektedir.

2 Mart 2012 Cuma

Visual Studio Ve IIS Olmadan Asp.Net Projesi Çalıştırma

Son günlerde google`ın web ile ilgili kaynaklarını gezerken ilginç bir program gibi birşey buldum. Aslında program denemez ama çok güzel birşey. Bu program ile iis ve visual studio olmayan bir bilgisayarda asp.net projesini çalıştırabiliyoruz. Duyunca hemen denedim ve gayet hoşuma gitti. Ayrıca visual studio kadar yavaşta değil. Visaul studio`nun uzunca sürede açtığı siteyi çok kısa sürede açabiliyor. 
Şimdi ise nasıl kullanıldığını anlatayım.
Öncelikle buradan kullanmamız gereken programı indiriyoruz. Yaklaşık 850 kb boyutunda küçük bir program. Ayrıca bu program hakkında google`ın kendi sayfasından da bilgi alabilirsiniz.

İndirtikten sonra ise çalıştırmak istediğiniz asp.net projesinin dizinine bu simgeyi atıp çalıştırıyoruz. Çalıştırdıktan sonra sağ alt köşede tıpkı visaul studio`da web projesi çalıştırdığımız gibi bir simge çıkıyor.
visual_Studio_iis_olmadan_site_calistirmaBu simge üzerinde sağa tıkladığımızda tıpkı resimdeki gibi bir ekran çıkıyor ve buradan çalıştırmak istediğimiz browserı seçip projemizi çalıştırıyoruz. 
Ununtmamalıyız ki programı çalıştırırken, açmak istediğimiz web projesi dizinine atıp çalıştırmamız gerekir. Kısacası program bulunduğu dizindeki web projesini açıyor. Eğer bulunduğu ortamda web dosyası olmadan çalıştırırsak program uyarı veriyor ve çalışmıyor. 
Artık iis ve visual studio olmadan istediğimiz bilgisayarda rahatlıkla web projelerimizi açabiliriz.
İyi Çalışmalar!





Kaynak: http://mehmetduran.com/Blog.aspx/Makale/Visual-Studio-ve-IIS-Olmadan-Asp-net-Projesi-Calistirma/39