none
部署XAML浏览器应用程序到IIS中,客户机访问时的导航问题! 多谢了! RRS feed

  • 问题

  • 大家好:

       我最近在制作一个基于XAML浏览器应用程序的开发,其中需要导航到一些HTML上,现在遇到如下问题,肯定高手出手相助!

       首先在Page中设置了一个 webBrowser控件,  webBrowser1.Source = new Uri("pack://siteoforigin:,,,/Flash/main.html", UriKind.Absolute); 目的是在打开这个Page时通过所指向的HTML打开一个Flash的swf文件,编译运行正常,部署到IIS上本机浏览正常。

      但在其它机器访问该程序时提示“404-找不到文件或目录”,也就是说没能打开该swf文件。我分析是因为 webBrowser1.Source = new Uri("pack://siteoforigin:,,,/Flash/main.html", UriKind.Absolute)中指向的是服务器中的路径,比如说E:\project\Flash\main.html,而

    在其它机器上访问时也是找本地的E:\project\Flash\main.html,但本地并没有该swf文件,所以就出错了,而我将该swf文件复制到本地的

    E:\project\Flash\main.html中,则运行正常。

     我想知道的是如何能在本地访问时也能指向服务器中的路径而不是自身的路径,求教各位了。

    我是个菜鸟,描述的有些混乱,请高手见谅!

    2010年12月13日 5:00

答案

  • 你好 傲血狂剑,

    你这个问题首先要澄清的是,XBAP 也就是WPF 浏览器程序是通过ClickOnce下载到本地并且在本地ClickOnce缓存中被执行的,所以严格上来说,他还是一个本地应用程序,所以即使你发布到IIS上,在客户端运行时,他还是认为他所请求的资源在本地。所以要解决你这个问题,你应该使用一个远程地址来引用这个Html文件,比如 http://ipaddress.com/Flash/mail.html 而不是一个Pack Uri。

    希望对你有帮助!

     

    Sincerely,
    Bob Bao


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2010年12月13日 13:47
    版主

全部回复

  • 你好 傲血狂剑,

    你这个问题首先要澄清的是,XBAP 也就是WPF 浏览器程序是通过ClickOnce下载到本地并且在本地ClickOnce缓存中被执行的,所以严格上来说,他还是一个本地应用程序,所以即使你发布到IIS上,在客户端运行时,他还是认为他所请求的资源在本地。所以要解决你这个问题,你应该使用一个远程地址来引用这个Html文件,比如 http://ipaddress.com/Flash/mail.html 而不是一个Pack Uri。

    希望对你有帮助!

     

    Sincerely,
    Bob Bao


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2010年12月13日 13:47
    版主
  • 多谢版主,问题解决了,看来关于wpf的机制我还需多多学习!

    2010年12月14日 1:36