首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Simple.OData.Client在Silverlight 5中失败

Simple.OData.Client在Silverlight 5中失败
EN

Stack Overflow用户
提问于 2015-12-21 12:30:11
回答 2查看 99关注 0票数 0

下面的小代码在控制台应用程序中工作得很好,但是在Silverlight 5应用程序中(我需要它!)它通过抛出一个NotSupportedException失败

代码语言:javascript
复制
    var client = new ODataClient("http://MYSERVER:9000/OData_v4/ProductionDb/");

    try
    {
        //This statement throws in Silverlight 5 but not in a .NET 4.5 Console application!!??
        var Meter = await client
            .For("MyEntityName")
            .Top(1)
            .FindEntryAsync();

        foreach (var entry in Meter)
            Debug.WriteLine(string.Format("{0}: {1}", entry.Key, entry.Value));
    }
    catch (NotSupportedException ex)
    {
        Debug.WriteLine(string.Format( "Exception {0}: {1} ", ex.GetType().ToString(), ex.Message ));
    }

为什么它在Silverlight不起作用?根据文档,它应该直接与Silverlight合作.?

我使用NuGet安装Simple.OData.Client vers。4.13.0 (=最新稳定)进入我的Visual 2015 Silverlight项目。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-06 09:45:39

将以下代码添加到MainPage构造函数中,就在InitializeComponent()之后:

代码语言:javascript
复制
HttpWebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
HttpWebRequest.RegisterPrefix("https://", WebRequestCreator.ClientHttp);

这应该可以解决问题(至少如果我能够通过这些更改运行您的代码)。非常令人沮丧,但与OData库无关。您可以在这里阅读更多关于这个问题的文章:https://mattduffield.wordpress.com/2011/12/11/silverlight-specified-method-is-not-supported-on-this-request/

票数 0
EN

Stack Overflow用户

发布于 2015-12-21 12:59:11

试试这个:

代码语言:javascript
复制
var Meter = await client
            .For<MyEntityName>()
            .Top(1)
            .FindEntryAsync();

发现这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34395747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档