文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SilverLight程序之:获取SilverLight.Web项目中路径Uri

SilverLight程序之:获取SilverLight.Web项目中路径Uri

时间:2011-05-26  来源:记忆逝去的青春

概述

SilverLight程序需要直接访问或者加载,承载该SilverLight项目的Web项目中的某个页或者资源时,我们需要取Web的Uri才能够进行下步操作。

基础

URI 是 Intranet 或 Internet 上可由应用程序使用的资源的一种简洁表示形式。Uri 类定义了属性和方法来处理 URI,包括分析、比较和组合。

Uri 类属性是只读的;若要创建可修改的对象,请使用 UriBuilder 类。

相对 URI(例如"/new/index.htm")必须相对于基 URI 展开,这样才是绝对的。提供了 MakeRelativeUri 方法,以便在必要时将绝对 URI 转换为相对 URI。

如果 URI 字符串是格式良好的 URI 并且包括方案标识符,Uri 构造函数将不会转义 URI 字符串。

Uri 属性用转义编码返回规范化数据表示形式,任何 Unicode 值大于 127 的字符都会被替换为等效的十六进制数。为使 URI 具有规范化格式,Uri 构造函数执行以下步骤:

  • 将 URI 方案转换为小写。

  • 将主机名转换为小写。

  • 如果主机名为 IPv6 地址,则使用规范化 IPv6 地址。ScopeId 和其他可选的 IPv6 数据将被移除。

  • 移除默认端口号和空端口号。

  • 通过压缩 /./、/../、// 等序列(包括转义表示形式),规范化分层 URI 的路径。请注意,在某些方案中,不压缩转义表示形式。

  • 对于分层 URI,如果主机未以正斜杠 (/) 结尾,则添加一个正斜杠。

  • URI 中的任何保留字符都要根据 RFC 3986 进行转义。

在某些方案的构造函数中,作为规范化工作的一部分,将压缩转义表示形式。其 URI 将压缩转义序列的方案包括:file、http、https、net.pipe 和 net.tcp。对于其他所有方案,不压缩转义序列。例如:如果您将两个点".."编码为百分号形式的"%2E%2E",则对于某些方案,URI 构造函数将压缩此序列。例如,下面的代码示例演示了 http 方案的 URI 构造函数。

代码

方法一:

            //获取指定要呈现的xaml内容的包活xaml文件Uri
var strFullUrl = Application.Current.Host.Source.AbsoluteUri;
if (strFullUrl.IndexOf("ClientBin") > 0)
{
var uristr
= strFullUrl.Substring(0, strFullUrl.IndexOf("ClientBin")) + "Report/Default.aspx";
var uri
= new Uri(uristr);
}

方法二:

var uri = new Uri(App.Current.Host.Source, "../Report/Default.aspx");

方法三:

            string url = System.Windows.Browser.HtmlPage.Document.DocumentUri.ToString();
var struri
= url.Substring(0, url.LastIndexOf("/")) + "/Report/Default.aspx";
var uri
= new Uri(struri);

方法四:

获取网页根目录

            var xapUri = Application.Current.Host.Source;
var uri
= new Uri(xapUri, "../");
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载