将.NET类库(主要定义CRUD操作)公开为服务
将现有(类)库 (主要定义CRUD操作)作为服务 ( WCF服务或WCF数据服务 )公开的最佳,有效和最快的方法是什么,以便它可以与Silverlight或Ajax一起使用。 是否有工具 (代码生成器,RAD工具)可以支持这个? 在此先感谢您的帮助和提示。
最好的方法是使用WCF自己创建一个包装器。
您应该这样做,而不是使用一些自动化直接公开库,因为:
如果你的类只是一个愚蠢的数据集合,只需在其上抛出一个DataContract。 (不要忘记命名空间,否则您将在以后踢自己。)然后,您可以使用Web项目公开它。
如果你class上有实际的逻辑,那你就麻烦了。 没有好的方法与Silverlight应用程序共享业务逻辑。 他们尝试使用RIA服务,但它只是没有成绩。
您应该查看WCF数据服务,尤其是在.NET 4中。虽然您必须创建数据上下文类或类以公开您的实体以及公开IQueryable并实现IUpdatable,然后您可以利用支持框架WCF数据服务为您的数据有效负载提供标准化协议(OData)。
在.NET 4和Visual Studio 2010中,WCF数据服务正在变得越来越被接受,并且正在被Microsoft推动作为Silverlight应用程序的良好数据访问工具。
我认为这至少值得一试。 在MSDN上有很多关于它的信息,虽然我不认为它在某些地方组织得很好。 这是MSDN中使用内置reflection提供程序滚动您自己的WCF数据服务的部分的链接 。 (该示例仅显示数据检索,因为它比数据更新/插入/删除简单得多,但文章中有关于如何实现IUpdatable的链接。)
通过WCF数据服务公开IQueryable应该非常快。 IUpdatable将花费更多时间(因为您需要为每个实体实现插入/更新/删除)。 但是,一旦启动并运行(不应该花费太长时间),您就可以调整安全设置,添加自定义服务方法,并非常轻松地添加其他function和/或实体。 对于您所描述的内容,这是一个很好的框架。
我希望这有帮助。
上述就是C#学习教程:将.NET类库(主要定义CRUD操作)公开为服务分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1001468.html