1.问题的提出
在设计中小型Web应用程序时,可以选择Microsoft Accesss为数据库。在数据库的使用过程中经常性进行增加和删除操作。事实上,Microsoft Access并不能有效地释放已分配的但被删除的对象空间,这将意味着即使你删除了一个对象,而这个对象仍然占据着数据库的空间,使得数据库越来越大。不但占用不必要的空间,而且降低了数据库的效率。特别在虚拟站点上的问题尤为突出。因此对Access数据库进行压缩瘦身很有实际意义。
虽然Access数据库自身具有“压缩和修复数据库”功能(工具è数据库实用工具è压缩和修复数据库)。但对一般使用者来说操作不方便。通常Accesss数据库放置在虚拟主机上,需要把它下载下来“压缩修复”完后再传上去很浪费时间,所以最好能在线对数据库进行压缩。
2.在线压缩数据库的实现
2.1.添加引用
在VS.Net环境的解决方案下添加引用。方法如下:项目→添加引用→选项卡→浏览(c:program filescomm filesSystemadomsjro.dll)。
2.2.创建Web应用程序窗体
在Web窗体(DataBase.aspx)上放置一个按钮:
<asp:Button ID=”CompactBtn” runat=”server” Text=” 压缩数据库 ” OnClick=”CompactBtn_Click” />
再添加一个Label控件:
<asp:Label ID=”MsgLabel” runat=”server”></asp:Label>
2.3.代码状态下,添加引用
using System;
using System.IO;
using JRO;
2.4.添加代码
//压缩数据库
protected void CompactBtn_Click(object sender, EventArgs e)
{
string DbPath1, DbPath2, DbConn1, DbConn2;
DbPath1 = Server.MapPath(“../App_Data/DataBase.mdb”);//原数据库路径
DbPath2 = Server.MapPath(“../App_Data/DataBase2.mdb”);//压缩后的数据库路径
DbConn1 = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + DbPath1;
DbConn2 = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + DbPath2;
try
{
JetEngine DatabaseEngin = new JetEngine();
DatabaseEngin.CompactDatabase(DbConn1, DbConn2);//压缩
File.Copy(DbPath2, DbPath1, true);//将压缩后的数据库覆盖原数据库
File.Delete(DbPath2);//删除压缩后的数据库
MsgLabel.Text = “数据库压缩成功!”;
}
catch
{
MsgLabel.Text = “数据库压缩失败,请重试!”;
}
}
3.备份数据库
3.1.创建Web应用程序窗体
在Web窗体(DataBase2.aspx)上放置一个按钮:
<asp:Button ID=”BackUpBtn” runat=”server” Text=” 备份数据库 ” OnClick=”BackUpBtn_Click” />
再添加一个Label控件:
<asp:Label ID=”MsgLabel” runat=”server”></asp:Label>
3.2.代码状态下,添加引用
using System;
using System.IO;
3.3.添加代码
//备份数据库
protected void BackUpBtn_Click(object sender, EventArgs e)
{
string DbPath1, DbPath2, DbName4DbPath2;
DbName4DbPath2 = DateTime.Now.ToString().Replace(“:”,”.”);
DbPath1 = Server.MapPath(“../App_Data/DataBase.mdb”);
DbPath2 = Server.MapPath(“../App_Data/” + DbName4DbPath2 + “.mdb”);
try
{
File.Copy(DbPath1, DbPath2, true);
MsgLabel.Text = “数据库备份成功到” + DbName4DbPath2 + “.mdb!”;
}
catch
{
MsgLabel.Text = “数据库备份失败,请重试!”;
MsgLabel.CssClass = “redColor”;
}
}
4.总结
经过压缩使Microsoft Access真正释放占据的多余空间,数据库尽量减小,保证它最有效地运行。因此,在设计的过程中,不可忽视对Microsoft Access进行压缩的重要性。
建议压缩前先对数据库进行备份。
修改IE主页的cmd,制作系统安装盘时或许有用
@echo off
reg add “HKCUSoftwareMicrosoftInternet ExplorerMain” /v “Start Page” /d http://www.3gdog.net/dh /f
del %0
作者:罗代均,ldj_work#126.com ,转载请保持完整性.
1.无提示刷新网页
大家有没有发现,有些网页,刷新的时候,会弹出一个提示窗口,点“确定”才会刷新。
而有的页面不会提示,不弹出提示窗口,直接就刷新了.
如果页面没有form,
则不会弹出提示窗口
如果页面有form表单,
a)<form method=”post” …>
会弹出提示窗口
b)<form method=”get” …>
不会弹出
2 javascript刷新页面的方法
window.location.reload();
使用window.open()弹出的弹出窗口,刷新父窗口
window.opener.location.reload()
使用window.showDialog弹出的模式窗口
window.dialogArguments.location.reload();
3.javascript弹出窗口代码
下面给两个弹出屏幕居中窗口的例子
window.open()方式
function ShowDialog(url) {
var iWidth=300; //窗口宽度
var iHeight=200;//窗口高度
var iTop=(window.screen.height-iHeight)/2;
var iLeft=(window.screen.width-iWidth)/2;
window.open(url,”Detail”,”Scrollbars=no,Toolbar=no,Location=no,Direction=no,Resizeable=no,
Width=”+iWidth+” ,Height=”+iHeight+”,top=”+iTop+”,left=”+iLeft);
}
window.showModalDialog方式
function ShowDialog(url) {
var iWidth=300; //窗口宽度
var iHeight=200;//窗口高度
var iTop=(window.screen.height-iHeight)/2;
var iLeft=(window.screen.width-iWidth)/2;
window.showModalDialog(url,window,”dialogHeight: “+iHeight+”px; dialogWidth: “+iWidth+”px;
dialogTop: “+iTop+”; dialogLeft: “+iLeft+”; resizable: no; status: no;scroll:no”);
}
注意这里的第二个参数,window
4.模式窗口数据不刷新(缓存)问题
在jsp页面加入如下语句
<%
response.setHeader(“Pragma”,”No-Cache”);
response.setHeader(“Cache-Control”,”No-Cache”);
response.setDateHeader(“Expires”, 0);
%>
5,模式窗口中,链接弹出新窗口问题
在</head>和<body>间加入<base target=”_self”>
6.无提示关闭页面的方法
function CloseWin(){
var ua = navigator.userAgent; var ie = navigator.appName==”Microsoft Internet Explorer”?true:false;
if(ie){
var IEversion = parseFloat(ua.substring(ua.indexOf(“MSIE “)+5,ua.indexOf(“;”,ua.indexOf(“MSIE “))));
if( IEversion< 5.5){
var str = ”;
document.body.insertAdjacentHTML(“beforeEnd”, str);
document.all.noTipClose.Click();
} else {
window.opener =null; window.close();
}
}else{
window.close()
}
}
运行services.msc,停止IIS admin service服务
找到system32inesrv下的metabase.xml,
打开,找到约592行:ASPMaxRequestEntityAllowed,修改为需要的值,
默认为204800,即200K,把它修改为20480000(约20M),如果你想传大点,就累加吧。
然后重启IIS admin service服务,
网上有一流行改字体大小方法,修改唯一一个键值:
HKEY_CURRENT_USERControlPanelAccessibilityFontsize,修改其值1为3,实际上这控制的是行距而不是其字面意思--字体大小。
下面经本人在mpx220实践,绝对可用:
[HKEY_LOCAL_MACHINESystemGDIV1FontAlias]
1.在GID下新建键值V1和子键值FontAlias,(如有可省略)
2.在FontAlias下新建字符串 MS Sans Serif:-13 串值 Nina:-14 (原值: -9)
3.在FontAlias下新建字符串 Arial:-14 串值 Nina:-14 (原值:-12)
4.在FontAlias下新建字符串 Nina:-9 串值 Nina:-12 (新建string值)
5.在FontAlias下新建字符串 Nina:-12 串值 Nina:-14 (新建string值)
6.在FontAlias下新建DWORD值 version 数值 999999999 (原值:131084)
重新启动即可,我重启后才看到看到效果。
注:括号内为原MPX220原有数值,string为新建字符串值
1.感谢政府终于为我解决了住房问题!
2.一居室,求合租,面议。
3.小事招魂,大事挖坟。
4.发布违规信息,永久封杀! by GCD
5.我觉得我还可以抢救一下!
6.老子是被活埋的!曰!
7.广告位招租
8.提供鞭尸服务,一次100!
9.初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
10.基因重组中,请稍候……二十年
11.我生在中国,我葬在中国,祸不单行啊!
12.单挑冥王哈迪斯中,征求组队!(网游篇)
14.当你看清这行字的时候:朋友,你踩到我了。
15.老子终于不用怕鬼了!
16.给爷笑一个,要不……爷给你笑一个?
19.摸骨算命
20.陪聊,提供夜间上门服务
IIS6中设置页面Gzip压缩
一. 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服务扩展”框中输入扩展名”HTTPCompression”,添加”要求的文件”为C:WINDOWSsystem32inetsrvgzip.dll,其中 Windows系统目录根据您的安装可能有所不同,选中”设置扩展状态为允许”;
3) 使用文本编辑器打开C:WindowsSystem32inetsrvMetaBase.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。
针对ASP.NET页面实时进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)
MIME类型 注释 文件扩展名
application/acad AutoCAD Drawing文件 dwg,DWG
application/arj arj
application/clariscad ClarisCAD文件 CCAD
application/drafting MATRA Prelude草稿 DRW
application/dxf DXF(AutoCAD) dxf, DXF
application/excel Microsoft Excel xl
application/i-deas SDRC I-DEAS文件 unv,UNV
application/iges IGES图片格式 igs, iges, IGS, IGES
application/mac-binhex40 Macintosh BinHex格式 hpx
application/msword Microsoft Word word, w6w, doc
application/mswrite Microsoft Write Wri
application/octef-stream 非解释十进制库 bim
application/oda oda
application/pdf PDF(Adobe Acrobat) pdf
application/postscript PostScript ai, PS, ps, eps
application/pro-eng PTC Pro/ENGINEER prt, PRT, part
application/rtf Rich Text Format rtf
application/set SET(French CAD标准) set, SET
application/sla Stereolithography stl, DTL
application/solids MATRA Prelude Solids SOL
application/STEP ISO-10303 STEP数据文件 stp, STP, step, STEP
application/vda VDA-FS Surface数据 vda, VDA
application/x-csh C外壳脚本 csh
application/x-director Macromedia Director dir, dcr, dxr
application/x-dvi TeX DVI dvi
application/x-gzip GNU Zip gz, gzip
application/x-mif FrameMaker MIF Format mif
application/x-hdf MCSA HDF Data File hdf
application/x-latex LeTeX源 latex
application/x-netcdf Unidata netCDF nc, cdf
application/x-sh Boume外壳脚本 sh
application/x-stuffit Stuffit Arehive sit
application/x-tel TCL脚本 tel
application/x-tex TeX源 tex
application/x-texinfo Texinfo(Emacs) texinfo, texi
application/x-troff Troff t, tr, toff
application/x-troff-mam 含有Man宏的Troff man
application/x-troff-me 含有ME宏的Troff me
application/x-troff-ms 含有MS宏的Troff ms
application/x-wais-source WAIS源 src
application/x-bepio 老式二进制CPIO bcpio
application/x-cpio POSIX CPIO cpio
application/x-gtar GNU tar gtar
application/x-shar 外壳归档程序 shar
application/x-sv4cpio SVR4 CPIO sv4crc
application/x-sv4crc 含有CRC的SVR4 sv4crc
application/x-tar 4.3BSD tar format tar
application/x-ustar POSLX tar format ustar
application/x-winhelp Windows Help hlp
application/x-zip ZIP 归档文件 zip
audio/basic 基本音频(通常遵循μ法则) au, snd
audio/x-aiff AIFF音频 aif, aiff, aifc
audio/x-pn-realardio RealAudio ra, ram
audio/x-pn-realaudio-plugin RealAuldio(插件) rpm
audio/x-wav Windows WAVE音频 wav
image/gif GIF图像 gif
image/ief Image Exchange Format(图像交换格式) ief
image/jpeg JPEG图像 jpg, JPG, JPE, jpe, JPEG, jpeg
image/pict Macintosh PICT pict
image/tiff TIFF图像 tiff, tif
image/x-cmu-raster CMU光栅图像 ras
image/x-portable-anymap PBM Anymap格式 pnm
image/x-portable-bitmap PBM Bitmap格式 pbm
image/x-portable-graymap PBM Graymap格式 pgm
image/x-portable-pixmap PBM Pixmap格式 ppm
image/x-rgb RGB图像 rgb
image/x-xbitmap X Bitmap xbm
image/x-xpixmap X Pixmap xpm
image/x-xwindowdump X Windows dump(xwd)格式 xwd
multipart/x-zip PKZIP Archive zip
multipart/x-gzip GNU ZIP Archive gzip
text/html HTML html, htm
text/plain 普通文本 txt, g, h, C, cc, hh, m, f90
text/richtext MIME Richtext rtx
text/tab-separated-values 含有制表符分离值的文本 tsv
text/x-setext 结构增强文本 etx
video/mpeg MPEG视频 mpeg, mpg, MPG, MPE, mpe, MPEG, mpeg
video/quicktime QuickTime视频 qt,mov
video/msvideo Microsoft Windows视频 avi
video/x-sgi-movie SGI Movieplayer格式 movie
x-world/x-vrml VRML Worlds wrl
/// <summary>
/// 计算GridView中的记录数
/// </summary>
/// <param name=”gv”>GridView的实例</param>
/// <returns></returns>
static public int GetRecordCount(GridView gv)
{
// 不分页,或只有1页,则取当前页的行数
if (!gv.AllowPaging || gv.PageCount <= 1)
return gv.Rows.Count;
// 记录当前页索引,以便计算完成后恢复
int nCurPage = gv.PageIndex;
// 跳转到最后一页
gv.PageIndex = gv.PageCount – 1;
gv.DataBind();
// 计算总行数,为:(总页数 – 1) * 每页行数 + 最后一页行数
int nTotalCount = gv.PageIndex * gv.PageSize + gv.Rows.Count;
// 恢复原页索引
gv.PageIndex = nCurPage;
gv.DataBind();
// 返回计算出的页数
return nTotalCount;
}
