我正在开展一个侧面项目,我决定使用web api公开数据,这样当我创建项目的移动应用版本时,我可以使用Web服务而不是直接连接到数据库。
我的问题是:这是推荐的吗?它会降低性能吗?
我注意到现在每当我向NhibernateRepository类添加新功能时,我都需要创建公开该数据的web api版本 - 这需要更多时间。
另外,当谈到更复杂的查询时,我应该直接从nhibernate查询中检索一些数据,还是从web api中检索一些数据?
答案 0 :(得分:1)
直接从您的数据库服务器“提取数据”这是一个糟糕的主意,管理您的连接/存储库/ dao或您从移动应用程序使用的任何方法将更具挑战性,而不仅仅是与休息服务交谈。
休息服务的一些优点:
看看一个名为API first的架构设计,可能是通过阅读,你会对我正在谈论的内容有一个更大的了解。
<强>性能吗
这是一个有点广泛的假设,我不会太担心如果你有一个良好/可靠的架构设计而不是流量/硬件之间的良好关系,你会没事的。
我建议您查看servicestack这是一个非常好的框架,有一个非常好的性能3.9是免费的,而4.0是付费版本,无论是使用Web API还是Servicestack都是最好的选择,让你感觉更舒服。