当前位置: 首页 > 编程语言 > C#

IQueryableIssuesUsingWCFSharing

时间:2023-04-10 22:36:46 C#

IQueryableIssuesUsingWCF我有一个非常简单的WCF服务方法,它返回一个IQueryable,只是为了测试。也许我在试图理解IQueryable的设计时遇到了一些错误。我明确计划稍后将其与NHibernate的IQueryable提供程序一起使用。但是,每当我使用返回IQueryable的WCF方法时,我首先会遇到某种序列化问题(至少我认为这可能是问题所在)。它甚至不适用于简单的字符串。这是我的代码:publicIQueryableGetEquipmentConfigurations(){varreturnValue=newList();returnValue.Add("测试");返回returnValue.AsQueryable();它可能没有多大意义,只是为了测试我是否真的在使用WCF通过网络获取那些IQueryable。每当我使用像SoapUI这样的客户端调用此方法时,我都会收到套接字异常和连接重置,就好像我试图返回未标记为DataContract的内容一样。但我在这里唯一要做的就是尝试返回一些蹩脚的字符串列表。这有什么问题吗?我使用basicHTTPBinding,这是我的设置:设置接口的OperationContract属性:[OperationContract]IQueryableGetEquipmentConfigurations();只返回一个简单的字符串就可以了。无论如何,我想稍后使用LINQ从IQueryable功能中获益。有谁知道这里出了什么问题?谢谢和干杯,Stefan(过时的)AFAIK可以开箱即用地序列化IQueryable或表达式树(想想看-这意味着需要序列化表达式树/lambda并重建函数)但是,如果有意愿,似乎有一种方法-您可能想看看像http://code.msdn.microsoft.com/exprserialization这样的项目编辑:请注意时代已经改变-请参阅MarcGravell关于WCFRIA服务的帖子。祝你好运!HTHCoreWCF旨在发送数据,而不是查询。坚持返回列表等;它会让你头疼。但是,您更幸运地使用了WCF数据服务IQueryable,它允许您公开IQueryable源。这种方法的工作方式是该工具构建一个公开类似IQueryable挂钩的客户端;当您查询数据时,它代表在线上的一个表达式,查询数据并将其返回给客户端。但它仍然是网络上的结果(不是查询)。以上就是C#学习教程:使用WCF的IQueryable问题分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: