从Silverlight访问web服务-安全问题



我正试图从Silverlight到youtube获得一个简单的WebClient调用。我从微软Silverlight网站上获取了代码。

代码如下:

private void SearchTrack_Click(对象发送者,RoutedEventArgs e){Uri serviceUri = new Uri("https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&q=sara+smile&key=AAAAAAAAAAAAAAA");WebClient downloader = new WebClient();下载器。OpenReadCompleted += new OpenReadCompletedEventHandler(downloader_OpenReadCompleted);downloader.OpenReadAsync (serviceUri);}

    void downloader_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
    {
        if (e.Error == null)
        {
            Stream responseStream = e.Result;
            // Continue working with responseStream here...
        }
    }

调用失败,出现以下错误:

[System.Security。SecurityException] = {System.Security。SecurityException——> System.Security.SecurityException:安全错误。在System.Net.Browser.BrowserHttpWebRequest。InternalEndGetResponse (IAsyncResult asyncResult)在System.Net.Browser.BrowserHttpWebRequest灵活;> c__DisplayClassa。

如果我只是从浏览器点击URL, JSON返回没有问题。

我是从VS/Cassini运行应用程序,所以我不认为这是在http://blogs.msdn.com/b/silverlightws/archive/2008/03/30/some-tips-on-cross-domain-calls.aspx中发现的文件系统问题。

任何帮助都将是非常感激的。

巴里

这里说的是,由于跨域访问限制,从silverlight与google api进行交互不太可能那么容易。你需要添加一些中间的wcf服务,通过它,你的SL-app将与youtube api通信。

相关内容

  • 没有找到相关文章

最新更新