ASP考试,ASP.NET的Web Resources 设置教程

 2023-09-25 阅读 23 评论 0

摘要:ASP.NET 2.0提供的Web Resources管理模型,很好的解决了image、css、script等外部资源的管理问题。解决方案如下: 1.设置你需要打包的文件的Build Action property为Embedded Resource. 2、注册资源文件: ASP考试?(1)一般情况下,在

ASP.NET 2.0提供的Web Resources管理模型,很好的解决了image、css、script等外部资源的管理问题。解决方案如下:

1.设置你需要打包的文件的Build Action property为Embedded Resource.

2、注册资源文件:

ASP考试?(1)一般情况下,在AssemblyInfo.cs中,也可在控件任何源文件(.cs)的最高级namespace外中:

[assembly: System.Web.UI.WebResource("mynamespace/myImage.gif", "img/gif")]

[assembly: System.Web.UI.WebResource("mynamespace/myStylesheet.css", "text/css")]

[assembly: System.Web.UI.WebResource("mynamespace/myJavascript.js", "text/js")]

ASPNET程序开发招聘。参数说明:第一个是资源的名字,第二个是资源的mime-type名。

资源的名字命名一般包括三个部分:<缺省的命名空间.><扩展命命名空间.><文件名>

缺省的命名空间就是项目的命名空间,文件名就是资源文件的名称。

中间扩展命名空间就是项目中的目录结构.如果你的资源文件就在项目的根目录下,扩展命名空间就不需要了,直接这样写就可以了. <缺省的命名空间.> <文件名>. 但是如果你在项目中产生目录结果的话,就要使用使用扩展命名空间了。例如,假设以上资源文件存在目录Images下:[assembly: System.Web.UI.WebResource("mynamespace/Images/myImage.gif", "img/gif")]

ASP开发、3、使用资源

(1)对于图像处理

Image theImage = new Image();

theImage.ImageUrl =Page.ClientScript.GetWebResourceUrl(this.GetType(), "myImage.gif");

ASP.net?一个对 GetWebResourceUrl 的调用生成一个指向名为 WebResource.axd 的内置 HTTP 处理程序的 URL。这个动态生成的 URL 还包含一个查询字符串,来识别目标 DLL 的名称和嵌入的资源文件。通过加载一个名为 AssemblyResourceLoader 的自定义 HttpHandler 类,ASP.NET 运行时可以响应 WebResource.axd 的请求。

上面的语句返回给browser的代码是:

<img src="WebResource.axd?a=pWebCtrl&r=WebCtrl.cutecat.jpg&t=632390947985312500" style="border-width:0px;" />    

其中的src就是GetWebesourceUrl执行后返回的,它有3个参数(这里的&被解析成了&,不过IIS也认的),第一 个参数a是就是通过typeof(WebCustom)来确定的assembly的名字,第二个参数r很明显就是资源的名字了,第三个参数t是一个a所指 的assembly的timestamp。这个t是为了让资源的引用能享用browser缓存的优化,因为IE对相同的url有自己的cache机制。又 因为这个r同时又是用户assembly文件的timestamp,如果用户更新了代码,重新编译后t也会变化,这样也就保证了browser能获得最新 的资源更新。如果我们能确定嵌入资源是确实不用再更新的,我们可以在typeof()里写一个bcl里的类型,比如typeof(string),那么他 将只在freamwork升级后才会变动这个t。

iis部署.net项目。当然这个WebResource.axd是不存在的,它只是IIS中的一个ISAPI影射。

(2)对于CSS处理

string includeTemplate ="<link rel='stylesheet' text='text/css' href='{0}' />";

string includeLocation =Page.ClientScript.GetWebResourceUrl(this.GetType(), "myStylesheet _Links.css");

ASP技术、LiteralControl include =new LiteralControl(String.Format(includeTemplate, includeLocation));

((HtmlControls.HtmlHead) Page.Header).Controls.Add(include);

(3)对于JavaScript处理

string scriptLocation =

怎么将.net mvc程序部署?      Page.ClientScript.GetWebResourceUrl(this.GetType(), "MSDWUC_WindowStatus.js");

Page.ClientScript.RegisterClientScriptInclude("MSDWUC_WindowStatus.js", scriptLocation);

最简单的方法是使用Type类的Assembly属性来得到某一个类的一个实例,你可以用下面的方法来得到Type,如果是一个类,使用typeof(<class>),如果是一个类的实例变量,使用GetType().

以下演示程序会列举出一个装配件中的资源,可以把存选中的资源保到一个文件中.如果资源是一个图象,在程序中就可以显示出来.如果你还没有一个内嵌资源的装配件,第二个演示程序就是一个含有资源的装配件.

这是在ListBox的 ListBox´s SelectedIndexChanged 事件中,如果出来资源

System.IO.Stream stream = loadedAssembly.GetManifestResourceStream((string) resources.SelectedItem);

System.Drawing.Image img = Image.FromStream(stream);

上面的演示程序把一个装配件调入内存,在loadedAssembly变量中存储一个Assembly实例.也许在你的应用程序中,不需要调用其他装配件的资源,你只是想能从你自己的程序中得到资源.

转载于:https://www.cnblogs.com/luoyaoquan/archive/2011/04/27/2030210.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/95903.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息