0
访问本地主机URI(重新发布的,因为SO停运;道歉,如果另一种重新出现)问题从Silverlight的
我建立一个Silverlight应用程序,将在Azure上运行。我的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;
}
// ...
}
但是,这是行不通的。消息框显示了错误:
The URI prefix is not recognized.
以下是完整的例外:
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)}
难道抱怨localhost
?我应该做一些不同的事情吗?也许这就是“添加服务引用”的用途?
我想要什么前缀为本地主机? HTTP://本地主机? – 2010-10-09 16:40:30
我认为你没有明白这一点。什么样的服务通过端口88在线?一个网络服务器? – Jack 2010-10-09 16:43:23
这可以帮助:http://stackoverflow.com/questions/2246735/silverlight-webrequest-fails-with-the-uri-prefix-is-not-recognized – Jack 2010-10-09 16:46:03