从Silverlight访问本地主机URI时出现问题

从Silverlight访问本地主机URI时出现问题,silverlight,wcf,rest,service,azure,Silverlight,Wcf,Rest,Service,Azure,(由于SO中断而重新发布;如果另一个再次出现,则表示歉意) 我正在构建一个在Azure上运行的Silverlight应用程序。我的VS解决方案有两个项目:web角色和Silverlight。web角色有一个有效的服务。(我可以转到localhost:88/expenseservice.svc/expenses获取我想要的数据。) 我正在尝试从Silverlight访问该数据: private void MainPage_Loaded(object sender, RoutedEventA

(由于SO中断而重新发布;如果另一个再次出现,则表示歉意)

我正在构建一个在Azure上运行的Silverlight应用程序。我的VS解决方案有两个项目:web角色和Silverlight。web角色有一个有效的服务。(我可以转到
localhost:88/expenseservice.svc/expenses
获取我想要的数据。)

我正在尝试从Silverlight访问该数据:

    private void MainPage_Loaded(object sender, RoutedEventArgs args)
    {
        WebClient data = new WebClient();
        data.DownloadStringCompleted += new DownloadStringCompletedEventHandler(data_DownloadStringCompleted);
        Uri dataSource = new Uri("localhost:88/expenseservice.svc/expenses");
        data.DownloadStringAsync(dataSource);
    }

    void data_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        if (e.Error != null) 
        {
            MessageBox.Show(e.Error.InnerException.Message);
            return;
        }

        // ...

    }
然而,这是行不通的。消息框显示错误:

无法识别URI前缀

以下是完全例外:

e.Error.InnerException = {System.NotSupportedException: The URI prefix is not recognized.
   at System.Net.WebRequest.Create(Uri requestUri)
   at System.Net.WebClient.GetWebRequest(Uri address)
   at System.Net.WebClient.DownloadStringAsync(Uri address, Object userToken)}

它是在抱怨本地主机吗?我应该做些不同的事情吗?也许这就是“添加服务引用”的作用?

我认为前缀不可识别,因为它丢失了。前缀应该是描述URI指向哪种服务的第一部分。例如
svn://
http://
等等


只需添加正确的一个,它就会起作用。。(我从来没有使用过Silverlight,也没有使用过Microsoftish,所以我只是在猜测)

我想你没有领会要点。什么样的服务通过端口88在线?一个网络服务器?这可能会有帮助:哈哈,我肯定没有理解要点。它是托管在Azure dev服务器上的ASP web角色。