知识大全 深入剖析Asp.net资源文件
Posted 文件
篇首语:饱带饥粮,晴带雨伞。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 深入剖析Asp.net资源文件相关的知识,希望对你有一定的参考价值。
深入剖析Asp.net资源文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
一 资源文件的定义
简单点的说法就是程序中可以使用的数据 象 字符串 图片或二进制数据等等 实际上可以包含任何类型的文件
资源文件可以有多个语言版本 这样在开发全球化应用程序时就很重要 这个特性是通过System Resources空间下的ResourceManager类来完成需要在什么时候调用那个版本的 在VS NET中将一个文件的属性设置为Embedded Resource就可以使资源被嵌入到Assembly中了
二 资源文件包含那些类型?
System Resources 空间支持三种资源文件 txt 文件 只能有字符串资源 因为不能被嵌入到 Assembly 中 所以很容易暴露 被客户修改 最大缺点是仅支持字符串资源 所以不推荐使用 resx 文件 由 XML 组成 可以加入任何资源 包括二进制 同样不能被嵌入到Assembly 中 在 System Resources 名字空间中有专用读写的类 VS NET 创建这种文件然后将其转成 resources 文件并根据设置将其嵌入到 Assembly 中 resources 文件 PE格式 可以加入任何资源 唯一可以被嵌入到 Assembly 的文件 在 System Resources 名字空间中有专用读写的类
三 怎么调用资源文件?
通常的做法是要将 txt 文件 resx 文件等转化成 resources 文件在通过ResourceManager来进行调用 但是我们也可以不采用那种方式 我觉得比较麻烦 象下面这样做我觉得好些 我们可以不通过一个资源文件而直接将一资源嵌入到 Assembly 中 这可以在 VS NET 中通过设置一文件的 Build 属性为 Embedded Resource 实现 在这种情况下 ResourceManager 就没有用了 因为它只能获取 resources 资源文件 那么怎么调用这类的资源呢?我们需要利用一些 Reflection 中的特征 我们只要了解一些 System Reflection Assembly 这个类中的一些函数就可以了 有三个相关函数 不过我们只需要 Assembly GetManifestResourceStream 这个函数 这个函数将一嵌入到Assembly 中的资源以 stream 的方式返回 而我们可以将这个 stream 转成在 NET 中可用的对象 比如 如果嵌入资源是一图片 那么我们可以利用 New Bitmap(Stream) 这个 Bitmap 的 constructor 获得这个图片资源的 Bitmap 对象 如果我们嵌入的是一文本文件 我们可以使用StreamReader将它的内容读出来
下面给一个简单的以文本文件为资源的DEMO
step : 资源文件 将文件嵌入Assembly 上面已说了怎么做 step : 调用资源文件public Stream GetEmbeddedResource()return System Reflection Assembly GetExecutingAssembly() GetManifestResourceStream( ResoureceDemo test txt ) ;//关键的一句//ResoureceDemo test txt解释一哈//ResoureceDemo表示命名空间 test txt文本文件名称private void button _Click(object sender System EventArgs e) Stream sResponse; StreamReader srResponse; sResponse=GetEmbeddedResource(); srResponse=new StreamReader(sResponse); string txtDemo=srResponse ReadToEnd() ToString(); label Text =txtDemo;
cha138/Article/program/net/201311/12543相关参考
ASp.net剖析三层架构 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
跳出封装剖析ASP.NET脚本回调的原理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
剖析ASP.NETAJAX的面向对象思想 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 人们期待
剖析ASP.NETAJAX的面向对象思想[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 接
剖析ASP.NETAJAX的面向对象思想[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 继
剖析ASP.NETAJAX的面向对象思想[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 人
深入ASP.NET数据绑定(上) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在ASPNET我
深入了解ASP.NET运行内幕 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 事情要知道根本所在
深入了解ASP.NET中的“空” 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 空对于许多开发人
深入ASP.NET2.0的提供者模型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一引言&nb