[转]Curstom WebControl:将静态文件编译进dll (WebResource)
2007-10-29 09:51
218 查看
摘自:虫虫的垃圾箱 http://hi.baidu.com/anuiz/blog/item/20614ac2eaba1434e4dd3b6f.html
做自定义服务器控件的时候常需要将静态文件编译进一个dll中。今天尝试了一下,做个记录,免得忘了。
1,资源文件的添加
首先在Curstom WebControl的工程里添加一个文件夹,名字任意,一般叫做 Resources。把所有想要编译的资源统统拖到这个文件夹里去。
将该文件夹里所有文件的 Build Action 属性修改为 Embedded Resource.
在 AssemblyInfo.cs 里,将所有的文件编译信息添加进去,写法如下:
[assembly: WebResource("ResourceTest.Resources.Icon.bmp","image/bmp")]
(别忘了在 AssemblyInfo.cs 文件头部 using System.Web.UI;)
ResourceTest.Resources.Icon.bmp 就是这个文件的路径,ResourceTest是这个工程的namespace,Resources是那个文件夹,Icon.bmp就是文件名。
image/bmp 是资源文件的MIME属性, js文件为 text/javascript ,html文件是 text/html ,gif为 image/gif 等等。
这时编译工程,资源就能被编译到dll里去了。
2,资源文件的使用
资源文件使用起来也是很方便的,一般通过以下方法获得资源文件的Url:
string url = Page.ClientScript.GetWebResourceUrl(this.GetType(), "ResourceTest.Resources.Icon.bmp");
获得的url一般是这样:
/WebAppName/WebResource.axd?d=DuWo...SdnEciZx0&t=63....203
其实资源文件就是通过一个处理WebResource.axd的HttpHandler获取的。
顺便写一下服务器控件里注册js文件的代码:
protected override void OnLoad(EventArgs e)
{
Type t = this.GetType();
string url = Page.ClientScript.GetWebResourceUrl(t, SCRIPTFILE);
if (!Page.ClientScript.IsClientScriptIncludeRegistered(SCRIPTFILE))
{
Page.ClientScript.RegisterClientScriptInclude(SCRIPTFILE, url);
}
}
SCRIPTFILE 就是js文件的资源路径 是一个只读的字符串常量。
做自定义服务器控件的时候常需要将静态文件编译进一个dll中。今天尝试了一下,做个记录,免得忘了。
1,资源文件的添加
首先在Curstom WebControl的工程里添加一个文件夹,名字任意,一般叫做 Resources。把所有想要编译的资源统统拖到这个文件夹里去。
将该文件夹里所有文件的 Build Action 属性修改为 Embedded Resource.
在 AssemblyInfo.cs 里,将所有的文件编译信息添加进去,写法如下:
[assembly: WebResource("ResourceTest.Resources.Icon.bmp","image/bmp")]
(别忘了在 AssemblyInfo.cs 文件头部 using System.Web.UI;)
ResourceTest.Resources.Icon.bmp 就是这个文件的路径,ResourceTest是这个工程的namespace,Resources是那个文件夹,Icon.bmp就是文件名。
image/bmp 是资源文件的MIME属性, js文件为 text/javascript ,html文件是 text/html ,gif为 image/gif 等等。
这时编译工程,资源就能被编译到dll里去了。
2,资源文件的使用
资源文件使用起来也是很方便的,一般通过以下方法获得资源文件的Url:
string url = Page.ClientScript.GetWebResourceUrl(this.GetType(), "ResourceTest.Resources.Icon.bmp");
获得的url一般是这样:
/WebAppName/WebResource.axd?d=DuWo...SdnEciZx0&t=63....203
其实资源文件就是通过一个处理WebResource.axd的HttpHandler获取的。
顺便写一下服务器控件里注册js文件的代码:
protected override void OnLoad(EventArgs e)
{
Type t = this.GetType();
string url = Page.ClientScript.GetWebResourceUrl(t, SCRIPTFILE);
if (!Page.ClientScript.IsClientScriptIncludeRegistered(SCRIPTFILE))
{
Page.ClientScript.RegisterClientScriptInclude(SCRIPTFILE, url);
}
}
SCRIPTFILE 就是js文件的资源路径 是一个只读的字符串常量。
相关文章推荐
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件
- C# DLL资源文件打包(图片、JS、CSS)[WebResource]
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- C# DLL资源文件打包(图片、JS、CSS)[WebResource]
- C# DLL资源文件打包(图片、JS、CSS)[WebResource]
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- 编译项目:“无法将文件“Web.dll”复制到运行目录
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- [转]C# DLL资源文件打包(图片、JS、CSS)[WebResource]
- webpack.DllPlugin和webpack.DllReferencePlugin静态资源预编译插件
- Web项目无法 自动编译/debug跟踪 项目dll文件
- VS2005 Web项目安装部署:利用预编译的Dll 隐藏.cs文件 的简单实现
- Nodejs实现web静态服务器对多媒体文件的支持
- IDEA下maven编译打包Java项目成jar包但是resource下配置文件打包不成功
- 使用csc命令将.cs文件编译成.dll的过程
- 如何把web站点的所有.aspx.cs文件编译为.dll文件?
- VC编译\链接\运行:包含文件、包含库lib、包含动态库dll的一些问题
- web项目中jsp编译后的java文件所在位置
- dll 文件反编译的工具软件