• 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”, 一切正常。

  • 相关阅读:
    关于开源的RTP——jrtplib的使用
    常见hash算法的原理
    cocos2dx触屏响应(单点触摸)CCTouchBegan,CCTouchMove,CCTouchEnd
    SD卡中FAT32文件格式高速入门(图文具体介绍)
    HDU 4916 树形dp
    图像识别技术
    shell语法简单介绍
    MATLAB新手教程
    java堆栈 (转)
    给字符数组赋值的方法
  • 原文地址:https://www.cnblogs.com/mobilegeek/p/Silverlight_The_URI_prefix_is_not_recognized.html
Copyright © 2020-2023  润新知