Gerçekten .asmx'e veda etmemiz gerekiyor mu?
Her web geliştiricisi .asmx'e aşina olurken, bazıları sadece .svc ile tanışıyor. Bunlar, dinamik doğası nedeniyle bir geliştiricinin çalışma alanı için çok önemli olan teknik kavramlardır. Soru, .svc ve .asmx arasında gerçekten büyük bir fark var mı? İnsanlar .asmx'ten .svc'ye büyük geçiş yaparsa?
.ASMX, bir Active Server Page (.ASP dosyası) tarafından çağrılan web hizmetlerini tanımlar ve hizmete bir istek olduğunda ASP.NET tarafından otomatik olarak biriktirilir. Bunlar internette ve ayrıca yerel bir ağdan kolayca elde edilebilir. Programlama dilini Visual Basic, C # veya Jscript olarak ayarlamak için, .asmx dosyaları ASP.NET yönergesi WebService ile başlar ve daha sonra .NET çerçeveli Windows tabanlı bir web sunucusu kullanarak dil parametresi tarafından yerine getirilir..
Öte yandan, SVC veya .svc, Microsoft'un Windows İletişim Vakfı tarafından Internet Information Services tarafından barındırılan bir hizmeti sembolize etmek için kullanılan bir bilgisayar dosyası uzantısıdır. Windows Communication Foundation veya WCF, bağlantılı, hizmet odaklı uygulamalar oluşturmak için .NET çerçevesinde bir uygulama programlama arabirimidir (API)..
Peki ikisi arasındaki fark nedir? .SVC steroidler üzerinde .asmx olarak adlandırılabilir, çünkü .asmx'in yapabileceği her şeyi yapabilir, ancak daha fazla özelliğe sahiptir. Web geliştiricileri .asmx hakkında konuştuğunda, bunun çok karmaşık olmayan bir şey olduğunu bilirler - kolayca yapılandırılabilir. Dezavantajı, yalnızca HTTP'den çağrılabilirken, .svc HTTP, MSMQ ile birlikte kullanılır ve Winforms uygulaması gibi farklı platformlarda barındırılabilir.
Gördüğümüz gibi, .svc tüm ihtişamıyla .asmx'in yerini alabilir.
Ancak, .svc daha fazla eğitim gerektirebilir; .svc yapılandırmasını anlamak için fazladan çabaya ihtiyaç vardır. Birçok geliştiricinin .svc yerine .asmx kullanmayı tercih etmesinin nedeni budur. ASMX basit ancak çok güçlü değildir; .SVC, .Net platformunun geleceğidir..
.ASMX ve .SVC'nin her ikisi de öğrenmesi ve kodlaması kolaydır ve hizmet ve veri sınıflarını tamamlayan paralel özelliklere sahiptir. Ama benzerlik orada bitiyor. İkisi arasındaki daha fazla önemli fark aşağıdaki gibidir: .asmx'in yapılandırılması .svc'den daha kolaydır, çünkü .svc tamamen kullanışlı olmayabilecek çok sayıda seçenek içeren çok sayıda yapılandırma anahtarı ekler… ASMX'in .svc ve karmaşık olması nedeniyle dağıtımı kolaydır yapılandırmalar ve seçenekler. ASMX, .svc'den farklı olarak WS- * standartlarını desteklemez; WS- * ile .asmx ile çalışmak çok büyük bir zorluk olacak ... SVC ayrıca ikili veri formatlarını ve REST'i de destekliyor. Ayrıca, .SVC hizmet / istemci genelinde iletileri yakalayabilir. İletileri yakalamak ve bunları tüm hizmet işlemlerinde yönlendirmek için belirsiz yordamlar çalıştırabilen bir .svc oluşturma kodu vardır.
.ASMX bunu yapamaz, bu talihsizdir, çünkü özel kimlik doğrulama, yetkilendirme, günlüğe kaydetme ve yönlendirme teknikleri gibi bazı karmaşık durumlarda pratik olabilir. Ancak, hala SOAP Temel Profili kullanıyorsanız, sadeliği için her zaman .asmx kullanın ve özelliklerinden birine ihtiyacınız varsa .svc dosyasına geçin. Yine de, gitmenin yolu tamamen .svc'ye geçmektir..
.ASMX yok olmaya yaklaşıyor ve .svc web geliştirmenin şimdiki ve geleceğidir… SVC, .asmx'in tümünden çok daha fazlasını yapabilir, bu yüzden .svc'yi öğrenmek için acil bir ihtiyaç vardır..
.Asmx, bir Active Server Page (.ASP dosyası) tarafından çağrılan web hizmetlerini tanımlar ve hizmete bir istek olduğunda ASP.NET tarafından otomatik olarak biriktirilir..
2… SVC veya .svc, Microsoft'un Windows Communication Foundation tarafından Internet Information Services tarafından barındırılan bir hizmeti sembolize etmek için kullanılan bir bilgisayar dosya uzantısıdır.
3… SVC steroidlerde .asmx olarak adlandırılabilir.
4… SVC tüm ihtişamıyla .asmx'in yerini alabilir.