2012-02-22 69 views
1

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

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; 

    } 
+0

是否有可能在应用程序中出现安全异常? – 2012-02-22 21:06:43

+0

嗨LB-我的应用程序不会抛出任何我能看到的异常。你知道我可以检查这个吗?我尝试使用一个尝试,但它永远不会进入捕获 – DaBears 2012-02-22 21:10:41

+0

把一个断点放在'字符串结果= e.Result;'或看你的'输出'窗口 – 2012-02-22 21:18:17

回答

2

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

如果你的Silverlight应用程序是不是在为服务完全相同的域名,这些文件需要存在允许其连接。如果他们不Silverlight失败默默。

+0

嗨杰夫 - 我有这两个文件已经在wwwroot。我通过Visual Studio调试这个应用程序会不知何故导致你所指的安全问题? – DaBears 2012-02-22 22:41:27

+0

Fiddler是一个很好的工具,可以查看服务器返回给您的内容,以便您可以看到您的请求失败的原因。 – bperreault 2012-02-23 01:56:11

+0

我第二个BPerreault,使用Fiddler。您将看到是否正在返回crossdomain和clientaccesspolicy文件,以及可能有关为什么请求不返回任何内容的更多信息。 – 2012-02-23 19:21:23