有没有使用ServiceStack或其他.Net服务框架的经验?

Dav*_*ave 16 c# asp.net wcf soa web-services

我正在寻找使用ServiceStack作为Web应用程序的服务部分,而不是自己动手.有人有使用它的经验吗?我应该考虑任何C#/ .Net替代方案?

myt*_*thz 22

我很高兴听到你正在考虑ServiceStack :),这是一个在过去几年里一直处于开发阶段的框架,源于.NET现有的.asmx和WCF SOAP Web服务框架的严格性带来的挫折和摩擦.我发现现有的框架都没有推出基于代码优先的传统方法,这种方法遵循Martin Fowlers最佳实践数据传输对象模式,我认为这有助于开发定义明确,不太健谈,可缓存和可重用的Web服务. .

它的主要目标是:

  • 促进最佳实践C#开发 - 松散耦合,可测试(端点/格式不可知)服务.
  • 最佳实践Web服务开发 - 您的Web服务契约是您可能要做的最重要的界面,因此它应该是代码优先,强类型和明确定义的.
  • 可重用,模型驱动的体系结构 - 注意您的服务继承自[t]的无部署IService,它也可以在Message Queue服务中重用.
  • 跨平台 - 支持Windows(.NET)/ Linux/OSX(MONO)
  • 性能 - 运行时无反射,仅使用最快的.NET组件来实现其所有功能
  • 可缓存性 - 缓存是高性能,可伸缩服务的重要组成部分,因此有时需要对缓存进行细粒度控制,能够缓存最佳结果(即gzipped响应)并拥有各种缓存提供程序.请参阅Northwind示例.

  • 而且它不再是免费的...... (10认同)

Hog*_*eed 18

我打算在我的系统上使用ServiceStack,我发现它非常酷,在实现一些模式的方式上非常令人印象深刻,我喜欢它的架构

你打算服务的方式有所不同.但是,可以使用的框架是:(很明显,这取决于情况)

  • 实现rrsl模式的Agatha-rrsl允许在同一进程或分布式环境中的ServerAndClient中使用服务.使用外部服务的Web应用程序(Agatha使用WCF进行外部服务)
  • OpenRasta是一个功能强大的框架,可用于构建整个应用程序或简单的REST服务
  • NServiceBus实现了一个完整的Service Bus体系结构,可以在同一进程中的ServerAndClient中使用,也可以以最适合该框架的分布式方式使用
  • MassTransit类似于NServiceBus(我个人更喜欢NServiceBUs)
  • SimpleServiceBus类似于NServiceBus但更简单,很酷
  • RhinoServiceBus,NServiceBus上的一种分支非常酷

理解像Agatha这样的服务框架与像NServiceBus这样的服务总线之间的区别非常重要.一个很好的观点可能是关于该论点的伟大Davy Brion博客文章http://davybrion.com/blog/2010/01/agatha-vs-nservicebus/

也许如果我记得别的什么我会稍后更新希望它有所帮助