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

使用Odata服务并获取JSON结果分享

时间:2023-04-10 19:55:36 C#

使用Odata服务并获取JSON结果我正在使用DataServiceContext消费odata服务,想返回json格式的数据。我看起来像这样:OdataqueryusingDataServiceContextandgetresultasjson如果我尝试在发送请求事件中添加任何请求标头。我在提琴手中看不到那个标题。虽然事件是我已经确认的镜头。我遇到了“context.Format.usejson”并尝试搜索它,但没有找到我能理解的任何内容。有人能帮我吗?使用ODataLib调用WCF数据服务服务操作和JSON我的目标是使用DataServiceContext来消费OData服务并以JSON格式获取结果。注意:这些步骤仅在服务的最高协议版本为3或更高时才有效。OData版本3引入了一种新的JSON格式,该格式仅受WCF数据服务客户端支持。(旧的JSON负载在顶部有“__metadata”和“d”:{...}。在新的JSON格式中,您会看到诸如“odata.metadata”、“odata.type”等内容。)首先,确保您拥有5.1版或更高版本的WCF数据服务客户端库(VisualStudio附带旧版本)和使“添加服务引用”在VisualStudio中工作的更新版本的工具。您可以在这里下载最新的工具安装程序:http://www.microsoft.com/en-us/download/details.aspx?id=1id=35840。安装后,我建议升级到最新版本的WCFData通过在NuGet程序包管理器控制台中发出以下命令来为客户端提供服务:Install-PackageMicrosoft.Data.Services.Client升级到最新的客户端库后,您应该能够在客户端中毫无问题地使用JSON。在VisualStudio中右键单击您的项目,选择“添加服务引用”并输入该服务的元数据文档的URL。在v5.1及更高版本中,这将下拉支持JSON所需的完整服务模型。“AddServiceReference”会自动生成DataServiceContext的子类。(您可以通过在VisualStudio的解决方案资源管理器中选择“显示所有文件”并展开服务引用后面的代码来查看此生成的代码。)例如,当我定位到http://services.odata.org/V3/OData/时OData.svc/$metadata执行“添加服务引用”http://services.odata.org/V3/OData/OData.svc/$metadata,客户端库生成一个名为DemoService的类。要直接使用此派生类而不是DataServiceContext,只需调用.Format.UseJson()。例如:varcontext=newDemoService(newUri("http://services.odata.org/V3/OData/OData.svc");context.Format.UseJson();如果服务模型加载在OnContextCreated部分方法,然后可以不提供参数调用context.Format.UseJson方法,如下代码所示:以上是C#学习教程:使用Odata服务获取JSON结果分享的全部内容,如果是对大家有用,需要详细了解C#学习教程,希望大家多多关注—publicpartialclassDemoService{partialvoidOnContextCreated(){this.Format.LoadServiceModel=GeneratedEdmModel.GetInstance;}}本文收藏来自网络,不代表立场,如涉及侵权,请点击右侧联系管理员删除,如需转载请注明出处: