ms-appdata://可以引用来自应用的本地、漫游和临时数据文件夹中的应用文件
ms-appdata:///local/hello/logo.png

ms-appx://可以引用来自应用包的应用文件
ms-appx://john@contoso.myapp/default.html

ms-resource://可以引用应用资源,通常是字符串资源

ms-resource://john@contoso.myapp/Resources/String1

可以使用 URI(统一资源标识符)方案引用来自应用包、数据文件夹或资源的应用文件。

ms-appx(-web)

使用 ms-appx 和 ms-appx-web 方案可以引用来自应用包的应用文件(请参阅应用包和部署)。这些文件通常为静态图像、数据、代码和布局文件。ms-appx-web 方案引用相同的文件,但它是在 Web 区域。有关常见用法,请参阅如何加载文件资源

方案名称

此 URI 方案名称是字符串 "ms-appx"

 
 
ms-appx://

或 "ms-appx-web"。

 
 
ms-appx-web://

此方案名称遵循典型 URI 规则 (RFC 3986) 来实现方案的标准化和资源检索。此方案名称采用 US-ASCII,不区分大小写,方案名称的标准化形式是小写。

分层部分

此 URI 方案按照 RFC 3986 将其分层部分定义为 URI 的 authority 和 path 组件:

 
 
URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
hier-part = "//" authority path-abempty
/ path-absolute
/ path-rootless
/ path-empty

Authority

authority 是拥有文件的实体的 US-ASCII 标识符,不区分大小写。

ms-appx(-web) 方案的 URI 或 IRI(国际化资源标识符)authority 是包清单中定义的包标识名称(请参阅应用包和部署)。因此,它在 IRI 和 URI 形式中都限制到在包标识名称中允许的字符集。包名称限制到当前所运行应用的应用包依存关系图中的那些名称。

 
 
ms-appx://Contoso.MyApp/
ms-appx-web://Contoso.MyApp/

如果在 authority 中提供任何其他字符,则检索和比较将失败。

当给定 authority 为空时,authority 的值是当前正在运行应用的应用包:

 
 
ms-appx:///
ms-appx-web:///

authority 的标准形式是采用 US-ASCII 的小写包标识名称,不区分大小写。例如,

 
 
document.location // Returns ms-appx://contoso.myapp/default.html

这样,在检索资源期间,authority 可以是小写或大写,但是任何一种都将指向相同的资源。

用户信息和端口

与其他常见方案不同,ms-appx 方案不定义用户信息或端口组件。由于不允许将 "@" 和 ":" 作为有效 authority 值,因此如果包含这些字符,查找将失败。以下每个情况都将失败:

 
 
// Examples of schemes that fail:
ms-appx://john@contoso.myapp/default.html
ms-appx://john:password@contoso.myapp/default.html
ms-appx://contoso.myapp:8080/default.html
ms-appx://john:password@contoso.myapp:8080/default.html

Path

path 组件匹配常规 RFC 3986 语法并支持 IRI 中的非 ASCII 字符。

path 组件定义文件的逻辑或物理文件路径。该文件位于与 authority 指定的应用的应用包安装位置关联的文件夹中。

path 组件可以定义一个逻辑资源,而不是物理资源。这种情况下,在检索期间返回的实际资源是在运行时使用内容协商确定的。这个决定基于系统的当前状态来识别最适合的资源。如果 path 组件指向物理文件路径而不是逻辑路径,则检索该物理文件资产时不会进行任何内容协商。

例如,在确定要检索的实际资源值时,可能会考虑应用的语言、系统的显示设置和用户的对比度设置:

 
 
ms-appx://contoso.myapp/images/logo.png

上面的示例实际上可能检索 Contoso.myapp 包中以下名称的文件

 
 
images/fr-FR/logo.scale-100_contrast-white.png

如有必要,你也可以直接指向物理图像:

 
 
<img src="/images/fr-FR/logo.scale-100_contrast-white.png" />

有关常用值的介绍,请参阅如何加载文件资源

与通用 URI 相同,ms-appx(-web) 的 path 组件区分大小写。但是,当访问资源所用的基本文件系统不区分大小写时,例如对于 NTFS,检索资源时将不区分大小写。

URI 的标准化形式保持大小写并百分比解码 RFC 3986 未保留的字符。

字符 "?"、"#"、"/"、"*" 和 '"'(双引号)在路径中必须进行百分比编码才能表示数据,例如文件或文件夹名称。在检索之前,将对所有百分比编码的字符进行解码。这样,要检索名为 Hello#World.html 的文件,请使用

 
 
ms-appx:///Hello%23World.html

Query

在检索资源期间,将忽略 query 参数。query 参数的标准化形式保持大小写。在比较期间不会忽略 query 参数。

在此 URI 分析上分层的特定组件的开发人员可以根据需要选择使用 query 参数。例如,应用托管进程可以检索特定的 HTML 文件,而忽略查询参数。但是,在页面中运行的代码仍然可以将查询参数用作状态来在页面上呈现某些特定内容。

Fragment

对 URI 的方案特定处理将忽略 fragment 组件。在资源检索和比较期间,fragment 组件没有任何意义。但是,在特定实现上方的各层可能会解释 fragment 以检索辅助资源。

例如,应用托管进程可能处理 ms-appx URI,其中导航到 ms-appx: URI 并滚动到 fragment 标识的定位点,但是 ms-appx: 的具体 URLMon 实现仅负责检索 HTML 页,将忽略 fragment。

比较

在所有 IRI 组件标准化后,将逐字节发生比较。

ms-appdata

使用 ms-appdata 方案可以引用来自应用的本地、漫游和临时数据文件夹中的应用文件。有关常见用法,请参阅如何加载文件资源,有关应用数据的详细信息,请参阅使用 Windows 运行时访问应用数据

方案名称

此 URI 方案名称是字符串 "ms-appdata"。

 
 
ms-appdata://

此 URI 方案遵循典型 IRI 规则来实现方案的标准化和资源检索。此方案名称采用 US-ASCII,不区分大小写,方案名称的标准化形式是小写。

分层部分

此 URI 方案按照 RFC 3986 将其分层部分定义为 URI 的 authority 和 path 组件:

 
 
URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
hier-part = "//" authority path-abempty
/ path-absolute
/ path-rootless
/ path-empty

Authority

ms-appdata URI 的 authority 是包清单中定义的包标识名称(请参阅应用包和部署)。包名称限制到当前所运行应用的应用包。

 
 
ms-appdata://Contoso.MyApp/

如果在 authority 中提供任何其他字符,则检索和比较将失败。

当给定 authority 为空时,authority 的值是当前正在运行应用的应用包:

 
 
ms-appdata:///

authority 的标准形式是采用 US-ASCII 的小写包标识名称,不区分大小写。

用户信息和端口

与其他常见方案不同,ms-appdata 方案不定义用户信息或端口组件。由于不允许将 "@" 和 ":" 作为有效 authority 值,因此如果包含这些字符,查找将失败。以下每个情况都将失败:

 
 
// Examples of schemes that fail:
ms-appdata://john@contoso.myapp/local/data.xml
ms-appdata://john:password@contoso.myapp/local/data.xml
ms-appdata://contoso.myapp:8080/local/data.xml
ms-appdata://john:password@contoso.myapp:8080/local/data.xml

Path

在 Windows.Storage.ApplicationData 中,位置是用于本地、漫游和临时状态存储的三个保留文件夹。ms-appdata 方案允许访问这些位置的文件和文件夹。path 组件的第一段必须以下列方式指定特定文件夹。 因此,"hier-part" 的 "path-empty" 形式非法。

本地文件夹:

 
 
ms-appdata:///local/

临时文件夹:

 
 
ms-appdata:///temp/

漫游文件夹:

 
 
ms-appdata:///roaming/

与通用 URI 相同,ms-appdata 的 path 组件区分大小写。但是,当访问资源所用的基本文件系统不区分大小写时,例如对于 Microsoft Windows NT 文件系统 (NTFS),检索资源时将不区分大小写。

URI 的标准化形式保持大小写并百分比解码 RFC 3986 未保留的字符。

字符 "?"、"#"、"/"、"*" 和 '"'(双引号)在路径中必须进行百分比编码才能表示数据,例如文件或文件夹名称。在检索之前,将对所有百分比编码的字符进行解码。这样,要检索名为 Hello#World.xml 的文件,请使用

 
 
ms-appdata:///Hello%23World.xml

在使用点进行标准化 (".././b/c") 后处理对资源和顶级路径段标识的检索。因此,在 URI 中不能使用点来表示保留文件夹外的文件夹。因此,不允许使用以下 URI:

 
 
ms-appdata:///local/../hello/logo.png

但允许使用以下 URI:

 
 
ms-appdata:///local/../roaming/logo.png

Query

在检索资源期间,将忽略 query 参数。query 参数的标准化形式保持大小写。在比较期间不会忽略 query 参数。

在此 URI 分析上分层的特定组件的开发人员可以根据需要选择使用 query 参数。例如,应用托管进程可以检索特定图像,而忽略 query 参数,但是在页面中运行的代码可以使用 query 参数作为状态来呈现该页面上的特定内容。

Fragment

对 URI 的方案特定处理将忽略 fragment 组件。在资源检索和比较期间,fragment 组件没有任何意义。但是,在特定实现上方的各层可能会解释 fragment 以检索辅助资源。

ms-resource

使用 ms-resource 方案可以引用应用资源,通常是字符串资源。此方案通常与Windows.ApplicationModel.ResourcesWindows.ApplicationModel.Resources.Core 或 WinJS.Resources API 结合使用以对 PRI 文件中的资源执行查找(请参阅资源管理系统)。有关常见使用模式,请参阅如何加载字符串资源

方案名称

此 URI 方案名称是字符串 "ms-resource"。

 
 
ms-resource://

此 URI 方案遵循典型 URI 规则来实现方案的标准化和资源检索。此方案名称采用 US-ASCII,不区分大小写,并且方案的标准化形式是小写。

分层部分

此 URI 方案按照 RFC 3986 将其分层部分定义为 URI 的 authority 和 path 组件:

 
 
URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
hier-part = "//" authority path-abempty
/ path-absolute
/ path-rootless
/ path-empty

Authority

ms-resource URI 的 authority 是在 PRI 中定义的顶级资源映射,通常对应于包清单中定义的包标识名称(请参阅应用包和部署)。对于 Windows 应用商店应用,资源映射名称限制到当前正在运行应用的包依存关系图中的那些名称。

 
 
ms-resource://Contoso.MyApp/
ms-resource://Microsoft.WinJS.1.0/

如果在 authority 中提供任何其他字符,检索和比较将失败。

当给定主机名为空时,主机名的值是当前正在运行的应用的包名称,区分大小写:

 
 
ms-resource:///

authority 区分大小写,并且标准化形式保持其大小写。但是,查找资源时不区分大小写。

用户信息和端口

与其他常见方案不同,ms-resource 方案不定义用户信息或端口组件。由于不允许将 "@" 和 ":" 作为有效 authority 值,因此如果包含这些字符,查找将失败。以下每个情况都将失败:

 
 
// Examples of schemes that fail:
ms-resource://john@contoso.myapp/Resources/String1
ms-resource://john:password@contoso.myapp/Resources/String1
ms-resource://contoso.myapp:8080/Resources/String1
ms-resource://john:password@contoso.myapp:8080/Resources/String1

Path

path 标识 ResourceMap 子树(请参阅资源管理系统)及其中 NamedResource 的分层位置。通常,这对应于资源文件的文件名(不包括扩展名)及其中资源的名称。例如,对于名为 resources.resjson 的文件,其中包含

 
 
{
"String1" : "Hello World"
}

则可以使用以下 ms-resource URI:

 
 
ms-resource:///resources/String1

与通用 URI 相同,ms-resource 的 path 组件区分大小写。但是,基本检索在 ignoreCase 设置为 true 时执行 CompareStringOrdinal,检索时不区分大小写。

URI 的标准化形式保持大小写。

字符 "?"、"#"、"/"、"*" 和 '"'(双引号)在路径中必须进行百分比编码才能表示数据,例如文件或文件夹名称。在检索之前,将对所有百分比编码的字符进行解码。这样,要检索名为 Hello#World.xml 的文件,请使用

 
 
ms-appdata:///Hello%23World.xml

Query

在比较期间不会忽略 query 参数。比较 query 参数时区分大小写。在检索资源期间,将忽略 query 参数。

在此 URI 分析上分层的特定组件的开发人员可以根据需要选择使用 query 参数。

Fragment

对 URI 的方案特定处理将忽略 fragment 组件。在资源检索和比较期间,fragment 组件没有任何意义。但是,在特定实现上方的各层可能会解释 fragment 以检索辅助资源。

相关主题

RFC 3986:统一资源标识符 (URI):通用语法
如何加载文件资源
如何加载字符串资源
使用 Windows 运行时访问应用数据
应用包和部署
资源管理系统
Windows.ApplicationModel.Resources
Windows.ApplicationModel.Resources.Core
Windows.Storage.ApplicationData
WinJS.Resources

Win8 URI 方案 ms-appX 用法大全的更多相关文章

  1. 转帖: 一份超全超详细的 ADB 用法大全

    增加一句 连接 网易mumu模拟器的方法 adb  connect 127.0.0.1:7555 一份超全超详细的 ADB 用法大全 2016年08月28日 10:49:41 阅读数:35890 原文 ...

  2. [深入浅出WP8.1(Runtime)]应用文件的URI方案

    6.2.4 应用文件的URI方案 在上文我们获取文件的方式都是通过应用程序的三个跟目录的文件夹对象来获取文件夹对象和文件对象,那么我们这一小节来讲解一种新的获取文件对象的方式,这种方式就是通过Uri地 ...

  3. MVC5 + EF6 + Bootstrap3 (9) HtmlHelper用法大全(下)

    文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-httphelper-part2.html 上一节 ...

  4. MVC5 + EF6 + Bootstrap3 (8) HtmlHelper用法大全(上)

    文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-httphelper-part1.html 上一节 ...

  5. MVC HtmlHelper用法大全

    MVC HtmlHelper用法大全HtmlHelper用来在视图中呈现 HTML 控件.以下列表显示了当前可用的一些 HTML 帮助器. 本主题演示所列出的带有星号 (*) 的帮助器. ·Actio ...

  6. C# MessageBox 用法大全(转)

    C# MessageBox 用法大全 http://www.cnblogs.com/Tammie/archive/2011/08/05/2128623.html 我们在程序中经常会用到MessageB ...

  7. MVC中HtmlHelper用法大全参考

    MVC中HtmlHelper用法大全参考 解析MVC中HtmlHelper控件7个大类中各个控件的主要使用方法(1) 2012-02-27 16:25 HtmlHelper类在命令System.Web ...

  8. pandas用法大全

    pandas用法大全 一.生成数据表 1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as np import pandas as pd12 2. ...

  9. python之pandas用法大全

    python之pandas用法大全 更新时间:2018年03月13日 15:02:28 投稿:wdc 我要评论 本文讲解了python的pandas基本用法,大家可以参考下 一.生成数据表1.首先导入 ...

随机推荐

  1. Reservoir Sampling - 蓄水池抽样

    问题起源于编程珠玑Column 12中的题目10,其描述如下: How could you select one of n objects at random, where you see the o ...

  2. repeater复杂表格的显示

    首先简要的描述一下所要完成的事情:将某一个方言中的每一个声韵调组合,按照格式显示一个字 数据库中的信息:****,声母(Initial),韵母(Final),声调(Tone),一个汉字(Word),* ...

  3. jq实现地址级联效果

    (function ($) { $.fn.Address = function (options) { var defaults = { divid: "Address", cal ...

  4. Phong光照以及其他

        在说光照之前,有必要先弄清法线的变换,假设Mworld 将物体的定点一一变换到世界空间,如果我们对法线实施同样的变化,,以为能将法线变换到世界空间,但世界上变换之后的法线不再与表面垂直,就像下 ...

  5. Android(java)学习笔记66:实现Runnable接口创建线程 和 使用Callable和Future创建线程

    1. 前面说的线程的实现是新写一个子类继承Thread: 是将类声明为 Thread 的子类.该子类应重写 Thread 类的 run 方法.接下来可以分配并启动该子类的实例 2. 这里说的方案2是指 ...

  6. 《算法导论》习题解答 Chapter 22.1-7(关联矩阵的性质)

    主对角线:出度+入度 其他:arr[i][j]=-n,则i与j之间有n条边. 证明: (原文点此,索引目录.感谢xiazdong君 && Google酱.这里是偶尔做做搬运工的水果君( ...

  7. VMware系统运维(十八)部署虚拟化桌面 通过View Client进行连接测试

    1.打开VMware Horizon View Client添加服务器,配置连接服务器的IP地址等信息 2.点击云图标进行连接,点击继续,证书部分我们后面再讲 3.输入用户名密码,点击"登录 ...

  8. mybatis--MapperProxy事务

    上篇 详细分析了org.mybatis.spring.mapper.MapperScannerConfigurer 和 org.mybatis.spring.SqlSessionFactoryBean ...

  9. javascript组件开发

    最近忙于重构项目,今天周末把在重构中的一些思想记记: 一.javascript的组件开发:基类的封装 由于这次重构项目需要对各种组件进行封装,并且这些组件的实现方式都差不多,所以想到对组件封装一个ba ...

  10. ng-sortable-支持触屏的拖拽排序

    1.首先是到https://github.com/a5hik/ng-sortable/tree/master/dist下载所需的文件:ng-sortable.min.js,ng-sortable.cs ...