在确认传入参数的情况下,检查该参数的值是否为null
或许是默认值.
今天要写一段读写文件的程序,使用this.Server.MapPath(str),str是一路径字符串,如:http://localhost/web/index.html
,不料却出现“不是有效的虚拟路径”的错误,马上检查程序,感觉没有什么错误,于是乎网上搜,
找啊找,就是找不到解决方案。只有自己慢慢调试了;
先使用了一个根路径"/",居然换了一个错误:“未能映射路径”,就搜这个错误,这个还有相应的回答:
把"/"换成"~/",成功了。心窃喜。。。
于是先把str.ToLower(),然后str.Replace("http://","");接着str.SubString(str.IndexOf("/"));
最后str = "~"+str;
this.Server.MapPath(str);
成功。。。
代码如下:
1 str = str.ToLower();
2 if(str.IndexOf("http://") > -1)
3 {
4 str = str.Replace("http://","");
5 str = str.Substring(str.IndexOf("/"));
6 }
7 str = this.Server.MapPath("~"+str);
一. HTTP压缩概述
HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或 CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。Gzip是比较常见的 一种HTTP压缩算法。
本文介绍的HTTP压缩方式,采用的是Windows系统设置的方式,优点是效率较高。
二. HTTP压缩工作原理
Web服务器处理HTTP压缩的工作原理如下:
Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
三. IIS 6.0中配置HTTP Gzip压缩的步骤:
1) 打开Internet信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制";
2) 在Internet信息服务(IIS)管理器,右击"Web服务扩展"->"增加一个新的Web服务扩展...",在"新建Web服务扩展"框中输 入扩展名"HTTP Compression",添加"要求的文件"为C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目 录根据您的安装可能有所不同,选中"设置扩展状态为允许";
3) 使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),找到Location ="/LM/W3SVC/Filters/Compression/gzip",如果需要压缩动态文件,则将 HcDoDynamicCompression设置为"TRUE",并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名, 如ASPx;如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为 "TRUE",并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等; HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数字越小压缩率越低;
4) 编辑完毕后保存MetaBase.xml文件;如果文件无法保存,则可能IIS正在使用该文件。打开"开始"->"管理工具"->"服务",停止"IIS Admin Service"后,即可保存;
5) 最后,重新启动IIS。可以到HTTP压缩测试网站验证结果
转载别人的,忘了页面了。