chi*_*oro 5 c# sql linq web-services
最近我考虑将面向服务的架构与一个优秀的用户界面结合起来时感到有点震惊,该用户界面利用SQL来优化查询数据时的性能.
例如,ASP.NET的DevExpress网格视图非常酷,它将所有过滤,排序和分页逻辑委托给数据库服务器.但这假定数据是从一个支持SQL的数据库服务器中检索的.
如果我想在数据库和UI层之间引入Web服务层,并让UI使用Web服务来查询数据,该怎么办?
List QueryData(string sqlQuery)样式Web服务并且必须自己解析SQL字符串以保证安全性/访问限制?这一定是一个非常普遍的问题,我相信它已经相对充分地解决了,是吗?
我主要对基于.NET/C#或兼容的解决方案感兴趣.
编辑:我发现了OData和Microsoft WCF数据服务.如果我做对了,基于OData的应用程序可能如下所示:
如果我得到这个权利,我的DevExpress服务器控件应该可以委托一个过滤请求(例如给我的只有排名前10位)通过所有这些层向下,然后运用其索引等,以执行该查询数据库.
是对的吗?
编辑:很高兴看到这个帖子变得生动:-)很难确定接受什么答案,因为对我来说似乎一切都很好......
实施它List QueryData(string sqlQuery)将使您面临近乎无限数量的安全问题。
如果您需要基于安全访问进行过滤,那么 OData 实现也将非常重要,您需要在 WCF 服务上设置适当的授权/身份验证,以便您可以根据经过身份验证的用户数据进一步过滤 OData 查询。
从 WCF 服务检索数据时实现服务器端数据操作的最简单方法是在后面的代码中拦截 Grid 的排序/过滤操作,然后根据用户正在执行的操作调用 WCF 服务上的专用方法。
| 归档时间: |
|
| 查看次数: |
1549 次 |
| 最近记录: |