Silverlight Exception: “The URI prefix is not recognized.”

在写前一篇Silverlight4中使用WebClient类下载压缩成zip格式的图片的过程中,遇到了下面这个异常:

{System.Net.WebException: WebClient 请求期间发生异常。 ---> System.NotSupportedException: 无法识别 URI 前缀。
   位于 System.Net.WebRequest.Create(Uri requestUri)
   位于 System.Net.WebClient.GetWebRequest(Uri address)
   位于 System.Net.WebClient.OpenReadAsync(Uri address, Object userToken)
   --- 内部异常堆栈跟踪的结尾 ---}
    [System.Net.WebException]: {System.Net.WebException: WebClient 请求期间发生异常。 ---> System.NotSupportedException: 无法识别 URI 前缀。
   位于 System.Net.WebRequest.Create(Uri requestUri)
   位于 System.Net.WebClient.GetWebRequest(Uri address)
   位于 System.Net.WebClient.OpenReadAsync(Uri address, Object userToken)
   --- 内部异常堆栈跟踪的结尾 ---}
    Data: {System.Collections.ListDictionaryInternal}
    InnerException: {System.NotSupportedException: 无法识别 URI 前缀。
   位于 System.Net.WebRequest.Create(Uri requestUri)
   位于 System.Net.WebClient.GetWebRequest(Uri address)
   位于 System.Net.WebClient.OpenReadAsync(Uri address, Object userToken)}
    Message: "WebClient 请求期间发生异常。"
    StackTrace: null

 

调试后发现WebClient对象的BaseAddress值如下:

wc.BaseAddress
file:///C:/…./SilverlightApplication1/SilverlightApplication1/Bin/Debug/SilverlightApplication1.xap

怎么会是本地的地址呢?应该是基于HTTP的URI才对啊。

 

最终发现我在运行Silverlight程序是通过直接在Silverlight Application项目里创建的TestPage来测试的,而没有创建Silverlight宿主网站来测试。虽然在有些情况下直接在Silverlight Application项目创建一个TestPage来测试也是可行的,这样只需build一个项目就可以看到运行结果,但某些情况下还是会出问题的,所以还是推荐大家在创建Silverlight Application项目的同时就创建一个宿主的网站。

image

 

创建宿主网站后再运行发现wc.BaseAddress值变为"http://localhost:7908/ClientBin/MySilverlightApplication.xap”, 一切正常。

转载于:https://www.cnblogs.com/mobilegeek/archive/2010/09/12/Silverlight_The_URI_prefix_is_not_recognized.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值