10 Dakika veya Daha Az Sürede Core WCF'ye Giriş
Microsoft, .NET Framework'den .NET Core'a geçiş yaptığında, bir temel bileşen geride kaldı: Windows Communication Foundation (WCF). Uzun yıllar boyunca, WCF, bağlı sistemler kurmak için başvurulan çözümdü ve dahili kurumsal araçlardan büyük web uygulamalarına kadar her şeyi güçlendiriyordu.
Kısa ama bilgilendirici videosu "10 Dakikadan Kısa Sürede Core WCF'ye Giriş," Tim Corey bizlere Core WCF projesinin ne olduğunu, neden var olduğunu ve geliştiricilerin nasıl kullanmaya başlayabileceğini anlatıyor. Bu makalede, Tim'in açıklamasını adım adım keşfedeceğiz.
Core WCF Neden Var
Tim, Microsoft'un .NET Core'a geçtiğini ve WCF'yi geride bıraktığını hatırlatarak başlıyor. Bu, eski .NET Framework sürümlerinde WCF hizmetlerini kullanan geliştiricilerin .NET Core'a doğrudan bir yükseltme yolunun bulunmadığı anlamına geliyordu.
Ancak, geliştirici topluluğu devreye girdi. Tim'in açıkladığı gibi,
"Şimdi topluluk WCF'yi .NET Core'a getirdi."
Bu topluluk odaklı proje, artık bir .NET Vakfı projesi olarak barındırılıyor ve Core WCF olarak adlandırılıyor. Temel olarak, Windows Communication Foundation (WCF)'yi modern .NET Core ve daha yeni .NET sürümlerinde çalıştırmak için yeniden uygulanmasıdır.
Core WCF Yeni Projeler İçin Değildir
Demo'ya dalmadan önce, Tim kritik bir şeyi netleştirmek için duraklar. Diyor ki:
"Bu gerçekten yeni projeler için tasarlanmadı."
Core WCF, yeni başlayan projeler için parlak bir yeni iletişim çerçevesi değildir. Bunun yerine, mevcut WCF hizmetlerini modern .NET Core ortamına taşımalarına yardımcı olmak için var.
Eğer yeni bir hizmet tabanlı uygulamaya başlıyorsanız, Tim size Microsoft'un artık yeni geliştirme için önerdiği bir çerçeve olan gRPC'ye bakmanızı tavsiye ediyor. Aslında, başka bir videosunda gRPC'yi tanıtarak ne olduğunu ve nasıl kullanılacağını anlatıyor.
Bu yüzden, Core WCF'nin yeni ASP.NET Core projeleri için değil, göç için tasarlandığını söylemek mümkündür.
Core WCF Kimin İçin
Tim, Core WCF'nin temel amacının, .NET Framework'te yazılmış mevcut WCF uygulamalarını modernize etmelerine yardımcı olmak olduğunu açıklıyor. Birçok kuruluş halen üretimde çalışan WCF projelerine güvenmektedir - örneğin, hizmet sözleşmeleri, SOAP ve WSDL üretimi kullanan dahili sistemler.
gRPC'nin gücüne rağmen, tüm yaygın WCF senaryolarının yerini tamamen almadığını, bu da birçok geliştiricinin eski platformdan hareket edememesine neden olduğundan bahsediyor. Core WCF şimdi bu sorunu çözüyor.
"Amacımız mevcut WCF hizmetlerinin .NET Core'a taşınmasını sağlamak."
Bu nedenle, tam framework üzerinde çalışan bir WCF projeniz varsa, artık mevcut hizmet sözleşmelerinizi, istemci proxy'lerinizi ve proje dosyalarınızı yeniden kullanarak - sadece bazı yapılandırma değişiklikleriyle - geçiş yapabilirsiniz.
Core WCF Proje Sayfasının Genel Görünümü
Sonra Tim, geliştiricilerin başlamak için ihtiyaç duyduğu her şeyi içeren Core WCF GitHub sayfasını gösteriyor. İzleyicileri bunu keşfetmeye teşvik ediyor ve şunu not ediyor:
"Bu başlamak için harika bir yer - sadece bir hizmetin nasıl oluşturulacağı ve istemci projelerinden referans alınacağı üzerine adım adım rehberlere sahip olmanın yanı sıra, Visual Studio'ya kurabileceğiniz yeni şablonlar da var."
Bu CoreWCF proje şablonları, yeni .NET SDK tarzı proje dosya formatını kullanarak bir Core WCF hizmeti veya WCF istemcisi oluşturmayı çok daha kolay hale getiriyor.
Sayfa ayrıca NuGet paket referanslarının, yapılandırma dosyalarının ve hizmet adreslerinin nasıl ele alınacağını açıklıyor, geliştiricilerinin eski .NET Framework'ün XML yapılandırma dosyalarından .NET Core'un kullandığı ara yazılım modeline taşımalarına yardımcı oluyor.
Yeni Şablonlar Neden Var
Bu noktada Tim, sıkça sorulan bir soruya değiniyor: eğer Core WCF yeni projeler için değilse, neden yeni CoreWCF proje şablonları oluşturuluyor?
O, .NET Framework WCF'den .NET Core'a geçiş stratejilerinden birinin yeni bir CoreWCF projesi oluşturmak ve ardından kodunuzu (hizmet mantığı, arabirimler ve yapılandırma) içine taşımak olduğunu açıklıyor.
".NET Core'un WCF sürümüne yükseltmek için stratejilerden biri, yeni bir şablon oluşturmak ve ardından kodu taşımaktır."
Bu, geliştiricilerin uygulamalarını yeniden yapılandırmalarına, .NET Core SDK-tarzı projeleri kullanmalarına ve eski montaj referansları yerine NuGet paketlerini güncellemelerine yardımcı olur.
Dolayısıyla, Visual Studio'da veya dotnet komut satırı aracıyla yeni şablonlar, tamamen yeni sistemler için değil - mevcut WCF uygulamalarınızın göç sürecine yardımcı olmak içindir.
Sürüm Güncellemeleri ve Kararlılık
Daha sonra Tim, sürümlemeyi tartışıyor. Onun kaydına göre, Core WCF sürüm 1.1, Nisan'daki 1.0 sürümünün ardından yeni yayınlanmıştı.
Sürüm 1.1'in bir hafta önce (Haziran sonu itibarıyla) çıktığını belirtiyor, bu da Core WCF'nin hızla geliştiği ve giderek daha istikrarlı hale geldiğini gösteriyor.
"Bu, sadece Core yükseltmesine ihtiyaç duyanlar için ama eğer öyleyse, bu gerçekten harika bir gündür."
Bu ifade, Core WCF'nin artık üretim ortamlarında güvenle kullanılacak kadar olgunlaştığını vurguluyor ve göç sürecini başlatmaya hazır organizasyonlara güven veriyor.
Microsoft Destekli Bir Topluluk Aracı
Tim, Core WCF'nin bir topluluk projesi olarak başladığını hatırlatıyor, ancak bunun Microsoft tarafından resmi olarak desteklendiğini vurguluyor.
"Başlamaya başlıyor. Sadece bilginize — Microsoft tarafından destekleniyor."
Bu, Core WCF'yi hem güvenilir hem de geleceğe yönelik hâle getiriyor. Bu, WCF hizmetinizi Core WCF'ye taşırsanız, terk edilmiş veya deneysel bir projeye bahis yapmadığınız anlamına gelir — bu, .NET Foundation şemsiyesi altında, Microsoft destekli ve topluluk tarafından sürdürülen bir çözümdür.
Modern .NET'e Doğru Bir Adım
Tim özetlerken, Core WCF geliştiricilere modern .NET Core çalışma zamanına bir yol sunar. Artık WCF işlevselliğinizi — SOAP hizmetleri, istemci proxy'leri ve hizmet sözleşmeleri gibi — tutarken .NET Core'un sunduğu tüm avantajların, platformlar arası destek, daha hızlı performans ve gelecekteki .NET sürümleri için birleşik bir çalışma zamanı gibi, tadını çıkarabilirsiniz.
"Bu, sizi modern .NET Core'a yönlendirmenize yardımcı olacak bir şeydir."
Başka bir deyişle, Core WCF, WCF'yi yeniden icat etmez — ömrünü uzatır.
Son Düşünceler ve Topluluk Katılımı
Tim, izleyicileri Core WCF GitHub sayfasını ziyaret etmeye, belgeleri okumaya ve şablonları denemeye teşvik ederek videoyu sonlandırıyor.
Geliştiricileri, geri bildirim sitesi aracılığıyla sorularını veya özellik isteklerini göndermeye de davet ediyor — böylece bu tür konularda daha fazla kısa eğitim videosu oluşturabilir.
Sonuç: Modern .NET'e Geçiş İçin Core WCF
Beş dakikanın altında Tim Corey, Core WCF'nin mevcut WCF uygulamaları için bir can simidi olduğunu açıkça açıklıyor. Tamamen yeni hizmetler için değil - ekiplerinin eski .NET Framework WCF projelerini modernleştirmek ve her şeyi baştan yazmadan .NET Core'un avantajlarından yararlanmak isteyenler için var.
Bu Core WCF eğitimi, göç yolunun nihayet burada olduğunu gösteriyor: Visual Studio şablonları, NuGet paket referansları ve Microsoft destekli araçlar ile geliştiriciler güvenle WCF hizmetlerini .NET geliştirmesinin yeni çağına taşıyabilirler.

