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. Visual Studio Code 1.0.1 for python

    1. 安 F1健 ext install python E:\test\.vscode下的三个文件 2.launch.json { "version": "0.1.0&q ...

  2. spring事务的传播特性

    所谓事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播.Spring 支持 7 种事务传播行为: PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在 ...

  3. QT核心编程之Qt线程 (c)

    QT核心编程之Qt线程是本节要介绍的内容,QT核心编程我们要分几个部分来介绍,想参考更多内容,请看末尾的编辑推荐进行详细阅读,先来看本篇内容. Qt对线程提供了支持,它引入了一些基本与平台无关的线程类 ...

  4. [Java] final的意义

    1.如果一个数据既是static又是final,那么它会拥有一块无法改变的存储空间. 2.final data: 当final用于基本数据类型时,final让其值(value)保持不变,但是当用于ob ...

  5. MVC框架 - 异常处理

    在ASP.NET中,错误处理是通过使用标准的尝试捕捉方法或使用应用程序事件.ASP.NET MVC附带内置支持,被称为异常过滤器功能异常处理.在这里我们要学习两种方法:一个是定义HandleError ...

  6. 7. Android框架和工具之 android-percent-support-lib-sample(百分比支持)

    1. android-percent-support-lib-sample介绍: 谷歌最新的百分比布局库的示例项目.其实LinearLayout的layout_weight也能实现百分比效果,不过这个 ...

  7. SQL查询中的in与join效率比较

    大多数情况下,程序员比较喜欢使用in来查询符合某些条件的数据,最近在查询某个角色有哪些用户的方法中,使用了in语句: ) FROM baseuser AND BaseUser.Id IN (SELEC ...

  8. web前端开发(4)

    低权重原则,避免滥用子选择器 CSS选择符是有权重的,当不同选择符的样式设置有冲突时会采用权重高的选择符设置的样式. html标签权重是1,class权重是10,id权重是100 如果css选择符权重 ...

  9. 怒刷DP之 HDU 1069

    Monkey and Banana Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  10. [wordpress]wp-api-jwt-auth 尝试添加运行在多站点中 need change

    Hi,Thank you this plugin,because i use this plugin on Wordpress one Network,so the request other api ...