【问题标题】:Using a JSON REST Service in Silverlight 4在 Silverlight 4 中使用 JSON REST 服务
【发布时间】:2012-02-23 05:58:41
【问题描述】:

我需要在我的 Silverlight 应用程序中使用 JSON REST 服务,以便我可以在我的 Silverlight 应用程序中显示来自 REST 服务的信息。下面是我的代码,但 ClientDownloadStringCompleted() 从未介入,我不知道为什么。 REST 服务确实有数据并且正在工作。我似乎无法访问它,所以我可以解析出我需要的数据。 JSON 服务视图

string jsonlink = "http://hou-prodserver2/ArcGIS/rest/services/sar/ScheduledRig/MapServer/81/query?text=&geometry=&geometryType=esriGeometryPoint&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&objectIds=&where=MAXDATE%3E%271%2F1%2F1900%27&time=&returnCountOnly=false&returnIdsOnly=false&returnGeometry=false&maxAllowableOffset=&outSR=&outFields=MAXDATE&f=pjson";

                var client = new WebClient();
                client.DownloadStringCompleted += ClientDownloadStringCompleted;
                client.DownloadStringAsync(new Uri(jsonlink, UriKind.Absolute));

以下是我试图用来访问数据但从未使用过的方法

private void ClientDownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        //handle the response. 
        string result = e.Result;

    }

【问题讨论】:

  • 您的应用程序中是否有可能出现一些安全异常?
  • 嗨 LB-我的应用程序没有抛出任何我可以看到的异常。你知道我怎么检查这个吗?我尝试使用 try, catch 但它从未进入 catch
  • string result = e.Result; 行设置断点或查看output 窗口
  • @LB- 我试过了,但它根本没有进入那个方法

标签: c# json silverlight silverlight-4.0


【解决方案1】:

确保服务站点在站点的根目录中具有以下一个或两个文件:

如果您的 Silverlight 应用与服务不在同一个域中,则需要存在这些文件才能连接。如果他们不这样做,Silverlight 就会默默地失败。

【讨论】:

  • 嗨,杰夫,我在 wwwroot 中已经有了这两个文件。我会通过 Visual Studio 调试此应用程序以某种方式导致您所指的这个安全问题吗?
  • Fiddler 是一个很棒的工具,可以查看服务器返回给您的内容,以便您了解请求失败的原因。
  • 我第二个 BPerreault,使用 Fiddler。您将看到是否正在返回跨域和客户端访问策略文件,以及有关请求为何不返回任何内容的更多信息。
猜你喜欢
  • 2011-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-08
相关资源
最近更新 更多