通过Web API公开nHibernate数据。忠告

时间:2014-04-24 19:22:31

标签: c# nhibernate asp.net-web-api

我正在开展一个侧面项目,我决定使用web api公开数据,这样当我创建项目的移动应用版本时,我可以使用Web服务而不是直接连接到数据库。

我的问题是:这是推荐的吗?它会降低性能吗?

我注意到现在每当我向NhibernateRepository类添加新功能时,我都需要创建公开该数据的web api版本 - 这需要更多时间。

另外,当谈到更复杂的查询时,我应该直接从nhibernate查询中检索一些数据,还是从web api中检索一些数据?

1 个答案:

答案 0 :(得分:1)

直接从您的数据库服务器“提取数据”这是一个糟糕的主意,管理您的连接/存储库/ dao或您从移动应用程序使用的任何方法将更具挑战性,而不仅仅是与休息服务交谈。

休息服务的一些优点:

  • 你可以把任何前端放在那上面,这意味着一个网络 (javascript前端),手机,平板电脑等。
  • 您正在重复使用您的代码
  • 您正在使用瘦服务器方法
  • 你正在解密你的代码
  • 您可以通过线路发送json,您的移动应用程序将与后端无关,因此您可以根据需要切换REST服务实现(转向其他编程语言)而无需重构移动应用程序

看看一个名为API first的架构设计,可能是通过阅读,你会对我正在谈论的内容有一个更大的了解。

<强>性能吗

这是一个有点广泛的假设,我不会太担心如果你有一个良好/可靠的架构设计而不是流量/硬件之间的良好关系,你会没事的。

我建议您查看servicestack这是一个非常好的框架,有一个非常好的性能3.9是免费的,而4.0是付费版本,无论是使用Web API还是Servicestack都是最好的选择,让你感觉更舒服。