问题标签 [simple.odata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
279 浏览

odata - 在 PCL 上通过 nuget 安装 Simple.Odata 时出错

我有一个面向 .Net 4.5、Silverlight 4+、Windows Phone 7.5+、.Net 的 PCL,用于 Windows 商店应用、Mono Android 和 MonoTouch

我正在尝试通过 nuget 安装 Simple.OData 并收到以下错误。我尝试了许多不同的组合,但似乎没有什么能够拉下图书馆。我的主要目标是使用 MVVMCross 和 Odata 服务为 Android 和 Touch 开发。

0 投票
1 回答
348 浏览

async-await - 如何取消请求

我正在使用Simple.OData.Client库,并且我需要能够在请求完成之前取消它。这些async方法都不接受Cancelation-Token. 我错过了什么吗?

0 投票
2 回答
883 浏览

json - Simple.OData如何消费json?

我目前在 Xamarin 应用程序中使用 OData - 在 iPhone 5 之前的设备上存在严重的性能问题。我相信这是因为一个简单的请求会返回大量 Xml - 必须由手机解析。使用 Json 将有效负载大小减少到 1/10。

(注意:我指的是它会减少客户端库必须做的工作量,而不是它会更快地通过网络传输的事实)

如何在 Simple.OData 中打开 Json?Xml 在 iPhone 4 上基本无法使用。

谢谢

0 投票
1 回答
169 浏览

events - Simple.OData BeforeRequest 事件未触发

我正在使用Simple.OData 适配器尝试连接到 OData 服务。该服务需要身份验证才能连接。我已经注册了 BeforeRequest 事件以在执行任何请求之前设置必要的标头。

但是,我的 BeforeRequest 根本没有被触发,这导致无法打开上下文,因为凭据太少了,我的代码挂起并永远等待。

请参阅下面的代码,我是否遗漏了什么?

它似乎确实触发或触发了一次事件,但是,在重建项目后它不再起作用。

0 投票
1 回答
604 浏览

xamarin - 简单的 odata FindEntriesAsync 方法不返回集合

我在我的可移植类库(PCL)中使用 Simple.OData.Client 库 3.3.0从我的 OData v3 服务中检索数据。而且我确信我的服务工作正常。当我尝试检索 Units 的集合时,它返回给我 {Simple.OData.Client.ResponseReader} 但不是我预期的IEnumarable<IDictionary<string,object>>集合。这是代码:

请帮助我很困惑,不知道从哪里得到我的收藏

0 投票
2 回答
2883 浏览

odata - simple.odata.client 查询参数

我有一个 Web 服务 API(带有一个称为 piperuns 的 OData 端点,使用 ODataController),它接受一个可选的查询字符串(称为 projectNumber),例如:

http://localhost:59636/piperuns?projectNumber=1

我有一个基于 Simple.OData.Client 的客户端,我无法弄清楚如何传递这个可选的查询字符串...我使用的是动态语法,并且可以使用以下语法获取管道运行(不带查询参数):

但是如果需要,我还没有找到有关如何包含可选查询字符串参数的任何信息?

谢谢!

0 投票
2 回答
1715 浏览

c# - 查询具有可为空 datetimetimeoffset 属性的链接实体时出现问题

我正在使用 simple.odata.client v4 来访问我的 odata rest api。数据模型相当复杂。我遇到的问题是,我只想获取相关实体满足条件的实体,该条件涉及可为空的 datetimeoffset (OnHandLastUpdated) 的属性。实际上在 api 方面它是一个可以为空的日期时间,但我认为 odata v4 会自动转换它。我尝试运行的代码是:

我得到的错误如下:

我在某处读到,odata v4 尚不完全支持可为空的 datetime 和 datetimeoffset,这可能会导致此问题。是否有解决方法来实现上述查询?

0 投票
1 回答
643 浏览

c# - oData 中的集合名称列表

我对如何从以下 odata 服务http://services.odata.org/V4/Northwind/Northwind.svc/获取集合名称列表有点困惑

我只想获取服务中所有可用集合名称的列表然后我想让用户选择要查看哪个集合的信息,然后显示该集合中的项目

例如,以下行访问Customers集合。

我可以按如下方式访问每个集合的内部。

0 投票
1 回答
2077 浏览

xamarin - Simple.OData.Client 通过使用来自 Xamarin PCL 的有效凭据访问 SharePoint REST API 的“未经授权”异常

在我们的Xamarin项目中使用Simple.OData.Client之前,我在LINQPad的帮助下进行了尝试。它的易用性给我留下了深刻的印象。当我将它构建到我们的Xamarin项目中时,我尝试从SharePoint的 REST Api 获取数据时遇到了异常。

Simple.OData.Client.WebRequestException:遇到意外的 WebException ---> System.Net.WebException:错误:SendFailure(写入标头时出错)---> System.Net.WebException:写入标头时出错 ---> System.IO。 IOException:身份验证或decr ... {Simple.OData.Client.WebRequestException:遇到意外的WebException ---> System.Net.WebException:错误:SendFailure(写入标头错误)---> System.Net.WebException:错误写入标头 ---> System.IO.IOException:身份验证或解密失败。---> Mono.Security.Protocol.Tls.TlsException:从服务器收到的证书无效。错误代码:0xffffffff800b010a

我相信,此异常是由于我们的SharePoint实例使用自签名证书这一事实引起的。我尝试通过将始终返回 true 到ServerCertificateValidationCallback来消除它

现在我总是从 Simple.OData.Client 得到未经授权的异常

Simple.OData.Client.WebRequestException:未经授权

初始调用来自MainViewModel通过业务层

执行调用的类是类SharePointTaskRepository

我仔细检查了凭据,这绝对是正确的。利用ServerCertificateValidationCallback的代码位于ApplicationRuntimeSettings中。此类是特定于平台的、单例的,并通过依赖注入作为所有其他对象提供。

0 投票
2 回答
1630 浏览

odata - Simple.OData.Client - 无法调用接受实体集合参数的操作

我收到错误“参数'wheels'属于Edm类型'Collection'。您不能对不是Edm类型'Collection'的参数调用CreateCollectionWriter。”

以下是我的设置的详细信息:

Web API 2.2 OData v4 服务:我在我的服务中的 WheelsController 类中定义了 Action,如下所示:

在 WebApiConfig.cs 文件中,Action 配置定义如下:

我成功地从 FireFox 浏览器中的 RESTClient 扩展调用上述操作作为对 URL“ http://localhost/Service/Wheels/UpdateWheels ”的 POST 请求,请求正文为

但是,当我尝试在客户端应用程序中使用 Simple.OData.Client 调用上述服务操作时,它会出错,例如

错误消息:参数“wheels”是 Edm 类型的“Collection”。您不能对不属于 Edm 类型“Collection”的参数调用 CreateCollectionWriter。

如何从 ODataClient 成功调用上述操作?