ServiceStack Web ile Microsoft'un yerleşik webapi'si arasındaki farkı denemek ve avantajlarını görmek istiyorum, bu yüzden bugün bir ServiceStack Web Service uygulaması geliştirmeye çalışın
1: Yeni bir .NET 4.5 web boş projesi oluşturun ve ardından nuget komutunu kullanarak ServiceStack'i yükleyin:
.net sürümü 4.5 sürümünden büyük veya eşit olmalıdır, 4.0 projesi başarılı şekilde kurulmayacak! Aşağıdaki şekilde gösterildiği gibi.
2: Yeni bir model ve hizmet klasörü oluşturun
Aşağıdaki kodla bir talep ve yanıt varlığı oluşturun:
3: Servis klasöründe bir servis arayüzü oluşturun
4: Bu projeye Global.asax adında yeni bir küresel uygulama sınıfı oluşturun ve kod şu şekildedir:
5: Web.config yapılandırmasını değiştirin, yeni bir system.webServer düğümü ekleyin ve tam yapılandırma şu şekildedir:
Hizmetimiz tamamlandı, programı çalıştırmak arayüzü aşağıdaki şekilde görebiliyor,GetAllUserInfoRequest ve GetByAgeUserInfoRequest, gerçek çağrı yöntemleri olarak anlaşılabilirBu parametrelerde tanımlanan parametreler, aşağıdaki şekilde gösterildiği gibi yöntemin talep parametreleri olarak yorumlanabilir:
ServiceStack'teki hizmet yöntemleri Any, Get ve Post olarak adlandırılır ve bunlar da ServiceStack tarafından desteklenen istek türleridir.Hizmetin hem HTTP Get hem de HTTP Post'ta çağrılabileceği her türlü yöntem。 Bu, RESTFull tarzı WebServices'in uygulanmasını güçlendirir ve basitleştirir. Bu yöntemlere sevgi [Route(...)] ekleyin Nitelikler. ServiceStack'te,Metodlar ve metodlar arasındaki fark, servisin parametreleri ile talep nesnesi Request DTO ile ayırt edilir, WCF'deki gibi yöntem adına göre ayırt etmek yerine. Bu da demekBir talep DTO nesnesi ServiceStack'te birden fazla Servis arasında yeniden kullanılamaz。
Get request parametresinden sonra format parametresi eklendiğinde, format=json, format=xml gibi yanıt türünü döndürebilir ve jsonp formatının da desteklendiği anlaşılıyor.
Örneğin: http://localhost:52079//json/reply/GetAllUserInfoRequest?format=xml
Özetle, Microsoft'un web API'sine kıyasla, ServiceStack'in web'de metod kavramı yok gibi görünüyor, farklı bir istek varlığı bir yöntemdir, otomatik olarak arayüz belgeleri oluşturabilir ve yanıtın formatı format yoluyla geri döndürülebilir (Microsoft'unki de mümkün, ama Microsoft'tan daha basit hissettiriyor)
Kaynak: https://www.cnblogs.com/woxpp/p/5012947.html
https://msdn.microsoft.com/zh-cn/magazine/dn342871.aspx
https://github.com/ServiceStack/ServiceStack/wiki
Son olarak, proje kaynak kodunu ekleyin!
Turistler, bu gönderinin gizli içeriğini görmek isterseniz lütfen Yanıt
|