IIS 设置了Gzip后为什么不起作用呢,静态的、非静态的一个都不压缩

uephee 2012-09-15 11:22:57
根据cnzz介绍的这个方法http://tool.chinaz.com/Gzips/,我设置开启了IIS的Gzip,但为什么不起作用呢,静态的、非静态的一个都不压缩。
http://www.tushuzazhi.com
...全文
268 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
uephee 2012-09-17
  • 打赏
  • 举报
回复
唉......,郁闷了,搞不定了。过段时间换台32位的Server再试试。
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
根据cnzz介绍的这个方法http://tool.chinaz.com/Gzips/,我设置开启了IIS的Gzip,[/Quote]

我不使用iis,不清楚iis如何设置。不过建议你使用iis7以上版本,应该仅仅“打个勾”而已(因为已经内置功能),用不着像这个文章所说的那样麻烦。
  • 打赏
  • 举报
回复
你的服务器的问题。

以下是Fiddler记录的http通讯结果

浏览器下行:
GET http://www.tushuzazhi.com/ HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://topic.csdn.net/u/20120915/23/f2b18e08-77de-4bcf-8781-98bb4f42899f.html?40837
Accept-Language: en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh;q=0.3
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
DNT: 1
Host: www.tushuzazhi.com
Pragma: no-cache
Cookie: __utma=104571781.491281103.1347762713.1347762713.1347762713.1; __utmb=104571781.6.10.1347762713; __utmz=104571781.1347762713.1.1.utmcsr=topic.csdn.net|utmccn=(referral)|utmcmd=referral|utmcct=/u/20120915/23/f2b18e08-77de-4bcf-8781-98bb4f42899f.html; __utmc=104571781; ASP.NET_SessionId=s1rw1uz1msbeuvfmf000yzwq

浏览器下行:
HTTP/1.1 200 OK
Date: Sun, 16 Sep 2012 02:41:18 GMT
Server: Microsoft-IIS/6.0
Cache-Control: private
Content-Type: text/html; charset=gb2312
Content-Length: 51197


<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn">
<head><title>
图书杂志网 图书信息服务
</title><meta name="description" /><meta name="keywords" /><meta content="text/html; charset=gb2312" http-equiv="Content-Type" /><link rel="Shortcut Icon" href="/images/favicon.ico" /><link href="Styles/Default/css.css" rel="stylesheet" type="text/css" />

<meta name="description" content="图书杂志网,是一个图书、杂志、电子书的信息库。同时还提供各大网上书店最新价格、库存、促销优惠等信息。" />
<meta name="keywords" content="图书,杂志,比价,电子书,书评,买书" />
<link href="Styles/Default/CycleAd.css" rel="stylesheet" type="text/css" />
<link href="Styles/Default/yui/carousel.css" rel="stylesheet" type="text/css" />


<script type="text/javascript" src="/Js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-34677664-1']);
_gaq.push(['_trackPageview']);

(function () {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</script>
</head>
<body class="yui-skin-sam">
<!--Top Begin-->
<div id="masthead">
<div id="logo">
<a href="/">
<img alt="图书杂志网" src="/images/logo.gif" /></a>
</div>
<div id="header">
</div>
<div id="search">

<form id="formSearch" method="get" action="/search.aspx" onsubmit="return validateSearchTop()">
<select name="category" id="selectSearchCategory"></select>
<input type="text" id="inputSearchKey" name="key" size="14" autocomplete="off" class="searchBox"
maxlength="70" value="" />
<input type="submit" value="搜索" id="btnSearch" class="searchButton" />
<a href="/AdvanceSearch.aspx">高级搜索</a>
..........................
..........................


当服务器响应上行的
Accept-Encoding: gzip, deflate
时候,它会在下行的消息头中包括
Content-Encoding: gzip
或者
Content-Encoding: deflate
如果没有,说明服务器目前根本不支持压缩。
孟子E章 2012-09-16
  • 打赏
  • 举报
回复
没设置正确吧
全新讨论区,帖子管理操作完全在前台ajax实现 实现gzip压缩脚本和css及图片,flash,节省服务器带宽 添加新闻时自动根据标题从已有标签中生成相关标签 全新托放式分类顺序调整,批量设置分类属性 生成静态及上传建目录不再需要分区读权限 增加Wap2.0访问方式 添加新闻选择分类时可用键盘快速定位 解决网站暂停访问在回收进程后失效问题 新闻维护添加标签合并功能 后台生成静态时间范围用日历选取 提供多种静态及上传文件目录结构。 调整上传文件管理为目录树方式 ajax更新网页采集进度,无需刷新页面 评论功能加强,增加回复/支持/反对功能 可用函数显示热门评论 公告可设置为外部链接 搜索页可选择多个分类搜索 会员可申请友情链接 生成静态时分类新闻存在分类目录下 系统设置和分类中设置增加头条简介方式第一条简介内容设置 内容及会员管理等修改后可回列表页继续操作 实现图片等文件防盗链(需在IIS中添加映射) 增加显示热门标签函数 添加新闻时可自动从内容截取简介,不再在前台生成以提高性能 新闻管理添加头条与固顶新闻管理 记录会员最后登陆ip 新闻页面添加网摘收藏功能 通过模板设置分类列表方式,方便用户通过控件修改显示方式 添加域名转向功能,方便统一网站域名及新旧域名转换的接续 更新内容: * 修正会员管理按会员组分页显示混乱 * 修正mssql数据库讨论区分页错误 * TinyMCE更新到3.2.4 * 修正批量设置分类属性时转换属性可能出错 * 修正chrome下内容编辑器无法显示
ebsite网站建设系统简要介绍: 如今互联网产品如如雨后春笋般层出不穷,程序员们每天都要面对变化无穷的需求,来满足产品的需要,他们不得不加班加点,来完成他们的使命,由最初的web1.0,web2.0,3.0到现在的移到互联网,可谓是变化莫测。eBSite网站工程应运而生,为解决变化无穷的需求PC互联产品与移动互联网产品而来。如果您是程序员,可以把她当成是一个基础框架,在这个基础之上,你能轻而易举的开发出你的客户想要的互联网产品,如果您不是程序员,或者只是一个普通的站长,你可以把她当成是一个比传统CMS更高端的产品来使用,因为官方已经为您集成了好了,资讯发布系统(新闻发布系统),网上商城系统,互联问答系统,论坛(bbs),个人空间及在线考试系统等,这些系统集成在eBSite,您可以单独使用,也可以以站群的方式使用   详细介绍: eBSite网站工程的新特性: 1.PC站点与移动站点轻松对接。 如今移动互联飞速发展,应对手机平板访问的网站少之又少,大量都是靠百度或移动浏览器转换后的页面展示给用户,这样的用户体验及其之差,同时不能实现更加复杂的功能。eBSite可以轻松制作或开发复杂的大型移动站点。同时提供一个良好的用户体验前端架构。 2.成熟模块机制 过去的cms也提供模块,但由于过于复杂,和安装不方便,使这些功能往往只有官方会使用,eBSite模块从开发到安装,整个体验有着常好的用户体验,套路式开发,并提供常便捷的模板,同时,官方还为用户提供模块生成器,让您的模块开发过程更加傻瓜式,将为您省去80%的重复工作。 3.先进的插件与动态组件机制 虽然插件已经不是什么新鲜的东西,但是eBSite的插件在web上的应用表现得与众不同,提供可以配置式开发插件,安装方便,开关灵活,并且官方提供了大量常用插件,你只要按需安装即可。动态组件与插件原理相同,只不过动态组件更加轻巧,它没有规范,意味着它能实现任何事件,由于他是在程序启动时动态编译,所以叫动态组件。 4.站群更加出色 您可以配置同站下的站群,也可以配置出不同域下的站群,由于eBSite在用户系统设计上已经考虑到这一点,所以eBSite的用户系统是独立的,数据库也是独立的,无论您有多少个站点,都可以使用同一个用户系统,意味着所有的用户数据在所有站点下都是只有一份,如积分,金额等,您不必担心不同站点之间用户信息混乱的问题。 5.丰富的扩展事件 对于二次开发人员来说,这个是eBSite最值得学习的一部分,官方开发的商城,问答,论坛,考试系统都是离不开这些可扩展的事件,这些事件应用在模块里,你可以轻而易举的开发出任何您能想象得出的互联网产品,过去几十人才能做的事件,现在你可以在一个人在很短的时间里完成。 6.简单易用的皮肤(模板与样式) eBSite皮肤由模板与样式组合,有了模板,可以让网页的展示更加灵活,eBSite为模板的制作提供了丰富的API。 7.出色的部件 部件相当于一个代码块,部件的开发很简单,只要实现官方提供的接口即可完成,部件要配件模板来使用,可以应用于模板里的某一个地方,比如要在模板中调用最新新闻,或今日排行榜数据等,这些都可以直接在后台创建官方已经开发好的部件,只要做简的配置即可,部件还支持模板,所以输出的html代码是完全可定义的。部件除了调用数据,还能实现更加复杂的业务。 8.强大的模型与模型控件。 过去的CMS都支持模型,但都只是只支持内容模型,eBSite支持的模型包括,内容模型,分类模型,用户模型,与表单模型,eBSite的模型可以自定义模型展现字段的中文名称,还能设置不同字段对应的输入控件,更加值得一提的是,这些模型控件你还能开发,并且安装到eBSite中来,传统CMS模型常死板,而eBSite在这方面有所超越,这些模型控件的可开发特性,意味着你可以制作更多加复杂的模型。   ebsite3.0修复了原有2.x版本下bug的同时主要做了以下改进: 1.支持站群,你可以在一个站点下创建无限级子站点,站点与站点之间数据调用通畅无阻。加上ebsite的会员系统(membership)集成模式,无论您有多少个站点,独立域名,子域名还是一个域名下的子站都可以共享一份会员数据,一份积分数据,一份预付金额数据,会员头像等,反正与会员相关数据将可集中管理,解决了多站点之间会员数据的同步等待诸多麻烦。 2.电商基础系统,你可以在此基础上快速创建电商项目,如eBSite官方城商模块就是在此基础上开发,基础部分已经包括常见的: 配送管理 支付管理 预付款管理 优惠券管理 快递单管理;当然您也可以将这些基础功能扩展到任何与支付,物流等相关的项目。 3.强大的日志系统,如异常日志,页面访问404日志,静态生成日志等 4.支持移动WebApp的皮肤,你可以修改皮肤快速创建web app站点快速模板,引入百度的gmu,也就意味着你可以在app模板里随时使用gmu里的部件级访问,如果你正想开发一套微网站(cms),微商城(b2c),微论坛(bbs),微问答,微考试,微投票等,请不要错过,ebsite请会让你短时内做出色的,具有自己特色的微应用。 5.性能优化,打造支持1000w级别数据访问系统,因此3.0后放弃了之前的Access数据版本,只保留了MySql与Sqlserver两个官方版本,数据库方面做了性能优化,在系统本身加入了数据硬盘缓存机制,实现了动态访问静态调用,过时更新的机制。 6.加入表单模型,对小型网站不想第二次开发者,可以快速创建前台表单提交页面。 7.重构模块结构,让模块开发更加简单易用。 8.优化后台访问速度,3.0后后台访问速度提升几倍 9.增加IIS日志分析及404错误记录功能,这些功能可以帮助您快速清理网站访问bug,有利于提高搜索引擎权重。 10.提供开方式数据搜索模式接入,网站的搜索可订制,官方提供了sql搜索,及一个功能强大的lucene搜索插件内带带分词,如果您在搜索方面要求亿级大数据分词高效搜索,可以选择启用lucent或自己开发自己的搜索插件(要有.net基础) 11.提供加入IP地区名转换接口,以插件模式接入,官方提供新浪ip转区域名称插件,准确率达98%,供给某些有这方面需求的应用调用,如要判断来访用户所在城市并做出相关回应时可以调用此接口,调用接口请参考相关文档。 12.后台增加一键设置页面gzip压缩功能,其中包括动态页面的gzip压缩,js输出合并缓存与压缩,css输出合并缓存与压缩。一般情况下压缩率高达80%,意味着在你带宽不足的情况下能大大提高访问速度,同时也能提高用户访问速度,js与css的合并能减少大量没有必要的iis请求,并且可以缓存输出,没有必要每次请求都进行压缩处理。 13.缩略图的生成可以设置三种模式大,中,小。解决了微网站(web app)下的图片浏览体验及流量节省问题。 14.增加了"是否开启搜索关键词跟踪"功能,可以跟踪用户在你网站搜索了哪些关键词及搜索频率。您可以了解你的用户喜欢什么,为您的网站策划提供基础数据。 15.增加站长统计功能与友情连接功能,原来版本也有这两项功能,但需要安装模块,考虑到这两功能常用,3.0后直接移到ebsite项目上来,并且加强了友情连接的功能。 16.增加线程监视功能,为了提高性能,给用户一个更好的使用体验,ebsite将很多即时任务(也就是不用即时反馈给用户的任务)交给线程池中来处理,你可以在后台查看当前处理的任务数,及设置任务的处理并发线程。 17.增加了web服务安全设置,文章发布审核及图片视频等文件上传权限设置功能,您可以在后台指定用户级别,让其具有文件上传权限,也可以指定用户级别,让此用户级别下的用户发布文章时免审核。 18.重构模块框架,让模块开发更简单,兼容原来繁锁的路由配置,但你可以使用新的配置模式,您不用像老版本一样去配置Menus_Adminer.txt ,Menus_User.txt文件,专注代码文件即可。 19.在网站制作里的讨论区创建,增加了咨询系统与与评价系统。原来只有盖楼式讨论系统,这次加入咨询与评价,特别适合商品销售类网站扩展,如商城。
UPUPW APACHE PHP5.2.17经典怀旧版为经典源码而生,主要适应PHP5.2系列版本用Zend加密过的程序,完美运行ShopEx/ECShop/phpweb等PHP源码。 优势特点: 1、绿色免费,无需安装,不写入任何注册表信息,下载集成包解压即用,无拘无束,无需卸载,退出即无痕 ;  2、可运行于任意版本任何架构的Windows系统之上(Windows Server 2003/2008/2012 ; XP/Vista/Win7/Win8 ; 32/64位) ;  3、无目录限制,任意磁盘任何中文不含空格目录想放哪就放哪。 4、完全兼容IIS,独具代理虚拟主机功能,可与IIS相辅相成并驾齐驱 ;  5、默认开启Gzip网页压缩传输,支持伪静态设置; 6、支持虚拟主机可在任意磁盘建立网站目录,并且每个目录可单独绑定多级域名或泛域名 ;   主要组成: Apache PHP MySQL phpMyAdmin Memcached eAccelerator ZendDebugger ZendOptimizer。 主体部分:  Apache/2.2.24   最流行的HTTP服务器软件,快速、可靠、开源。  PHP/5.2.17   新型的CGI程序编写语言,易学易用、速度快、跨平台。 MySQL/5.1.70   执行性能高,运行速度快,容易使用,常棒的数据库。 phpMyAdmin/4.0.3   开源、基于WEB而小巧的MySQL管理程序。   重要组件: eAccelerator/1.0_svn427   PHP加速器,优化程序,编码器和动态内容缓存。 Zend Optimizer/3.3.3   优化代码,提高PHP应用程序的执行速度,显著降低服务器的CPU负载。  memcached.exe/1.2.6   memcached内存对象缓存系统服务端程序 memcache/2.2.5    高性能的分布式的内存对象缓存系统客户端。 Zend Debugger/5.2.15   PHP程序调试器,跟踪、调试和分析PHP程序的运行状况。  UPUPW PHP探针   支持服务器信息检测,PHP组件检测,PHP已编译模块检测,MySQL 连接测试等。   控制面板: 快速的Apache PHP MySQL memcached集成服务开启与关闭。  支持Apache服务的单独开启、关闭与重启。  支持MySQL服务的单独开启与关闭。 支持memcached服务的单独开启与关闭。  支持虚拟主机添加、修改、删除等设置。 支持代理虚拟主机设置。  支持Apache/MySQL端口更改。  支持现有端口检测。  支持重设MySQL密码。 支持网站MySQL数据由旧版本升级为新版本。  支持Apache模块设置 支持PHP功能组件开启关闭 支持主机性能适配功能 支持生产开发环境选项 支持集成包配置文件的备份与还原
因pdf的容量过大分4个压缩包打包,还有一个源码另外下载。 《.NET深入体验与实战精要》作者身为从事.NET一线开发的资深开发专家,常年耕耘技术博客,惠及无数.NET新知。此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习路线。本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题的思路和方法,更总结出项目开发中不可或缺的技术点及思想。读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集实用性、思想性、趣味性于一体,内容共分为技术基础总结、系统架构设计思想及项目实战解析三部分,随书所附光盘收录大量实例代码及独家披露的商业系统,供读者参考学习。 本书适合于.NET初、中级开发人员参考学习,特别有助于.NET从业者进入实战层次,也可作为相关培训机构的参考教材,还可以作为高等院校相关专业师生的参考书。 目录 第1篇 技术基础总结 第1章 .NET,你真的知道了吗 3 1.1 搞清自己是干什么的 4 1.2 .NET的几个特性 7 1.3 万丈高楼平地起:面试者必会 9 1.3.1 C#介绍 10 1.3.2 命名空间 10 1.3.3 C#语法格式要点 10 1.3.4 变量 12 1.3.5 类型推断 12 1.3.6 变量的作用域 13 1.3.7 常量 16 1.3.8 流程控制 16 1.3.9 字符串常见操作 21 1.3.10 几个常用的数学函数 27 1.4 .NET的面向对象之门 27 1.4.1 继承——“子承父业” 28 1.4.2 委托——“任务书” 35 1.4.3 事件——“年终分红” 42 1.4.4 反射——“解剖” 49 1.5 .NET开发几把小刀 52 1.5.1 using之多变身 52 1.5.2 @符号的妙用 54 1.5.3 预处理指令,有你更轻松 55 1.6 Visual Studio.NET 2008 实战 58 1.6.1 如何创建ASP.NET项目 58 1.6.2 如何创建Windows项目 61 1.6.3 Visual Studio.NET 2008 操作与使用技巧 61 1.6.4 常见开发调试技巧 66 1.6.5 错误异常处理方法 70 本章常见技术面试题 76 常见面试技巧之面试前的准备 76 本章小结 77 第2章 细节决定成败 79 2.1 Equals()和运算符==的区别 80 2.2 const和readonly的区别 82 2.3 private、protected、public和internal的区别 86 2.4 sealed、new、virtual、abstract与override 87 2.5 abstract class与interface 91 2.6 公共变量与属性的区别 93 2.7 参数修饰符params、out和ref的区别 96 2.8 值类型和引用类型的区别 100 2.9 结构与类的区别 103 2.10 Dispose()和Close()、Finalize()的 区别 106 2.11 string和StringBuilder有什么区别 106 2.12 Debug版本和Release版本的 区别 108 本章常见技术面试题 111 常见面试技巧之细节决定成败 111 本章小结 112 第3章 ASP.NET开发大杂烩 113 3.1 页面生命周期 114 3.1.1 独立页面生命周期事件顺序 114 3.1.2 具有Master页的生命周期事件顺序 116 3.1.3 ASP.NET生命周期详解 118 3.2 页面状态管理 120 3.2.1 Cookie 121 3.2.2 HtmlInputHidden隐藏域 123 3.2.3 ViewState 123 3.2.4 查询字符串Request 124 3.2.5 Aplication对象 125 3.2.6 Session对象 125 3.2.7 示例项目:在线用户列表统计 128 3.3 服务器和客户端数据交互 131 3.3.1 页面数据绑定全攻略 131 3.3.2 Bind和Eval的区别 140 3.4 ASP.NET编程中的技巧 142 3.4.1 页面之间传值的7种方法 142 3.4.2 get与post方法的区别 146 3.4.3 ASP.NET服务器控件和 HTML控件的区别 146 3.4.4 Server.Transfer和Response.Redirect的区别 148 3.4.5 刷新页面的方法汇总 149 3.4.6 页面事件控制 150 3.4.7 在URL中传递中文的解决方案 152 3.4.8 增强用户体验的一些技巧 153 3.4.9 XHTML与HTML的区别 156 3.5 打造自己的页面基类PageBase 161 本章常见技术面试题 164 常见面试技巧之如何做好自我介绍 164 本章小结 165 第4章 Windows窗体编程你也行 167 4.1 创建简单的WinForm项目 168 4.2 创建MDI窗体应用 170 4.3 获取应用程序路径信息 174 4.4 回车跳转控件焦点 175 4.5 窗体间传递复杂数据 176 4.5.1 构造传递 176 4.5.2 公有字段传递 177 4.5.3 委托与事件传递 179 4.6 实现个性化窗体界面 181 4.7 无标题窗体拖动的两种方法 183 4.8 让程序只启动一次——单实例运行 184 4.9 实现系统托盘和热键呼出 185 4.10 进程与多线程的区别 190 4.11 创建多线程应用程序 191 4.12 WinForm开发常见问题 194 4.12.1 如何设置运行时窗体的起始位置 194 4.12.2 如何使一个窗体在屏幕的最顶端 194 4.12.3 实现窗体渐显效果 194 4.12.4 设置窗口背景为渐变色 195 4.12.5 模态窗口和模态窗口 196 4.12.6 屏蔽窗口右上角的关闭 操作 196 4.12.7 调用执行外部的程序 197 本章常见技术面试题 197 常见面试技巧之经典问题巧回答 198 本章小结 198 第5章 数据库开发 199 5.1 ADO.NET与抽水的故事 200 5.1.1 ADO.NET的定义 200 5.1.2 趣味理解ADO.NET对象模型 202 5.1.3 进水笼头——建立Connection 204 5.1.4 抽水机——Command 206 5.1.5 输水管——DataAdapter 209 5.1.6 输水管——DataReader 210 5.1.7 随用随关,释放资源 212 5.1.8 水库管理——DataSet 212 5.1.9 水池子——DataTable 214 5.2 数据库操作类的封装详解 217 5.2.1 执行命令方法的封装 217 5.2.2 查询数据方法的封装 220 5.2.3 数据统计方法的封装 221 5.2.4 实现SqlParameter方式 222 5.2.5 实现多数据库的访问 223 5.3 常用经典SQL语句 224 5.4 事务处理 226 5.4.1 SQL和存储过程级别的事务 227 5.4.2 ADO.NET级别的事务 229 5.4.3 ASP.NET页面级别的事务 230 5.4.4 企业级服务COM+事务 231 5.4.5 System.Transactions 事务处理 236 5.5 Oracle开发常见问题 240 5.5.1 Oracle和SQL Server的常用函数对比 240 5.5.2 Oracle和SQL Server的语句区别 244 5.5.3 ASP.NET连接Oracle失败的解决方法 245 本章常见技术面试题 246 常见面试技巧之经典问题巧回答 246 本章小结 247 第6章 关于XML 249 6.1 XML概述 250 6.1.1 XML和HTML有什么区别 250 6.1.2 XML的优势 250 6.2 文档结构与基本语法 251 6.3 XML操作 253 6.3.1 XmlDocument创建XML文档 253 6.3.2 XmlTextWriter创建XML文档 254 6.3.3 XmlDocument读取XML文档 256 6.3.4 XmlTextReader读取XML文档 257 6.3.5 在HTML中显示XML中的数据 258 6.3.6 JavaScript获取XML内容 259 6.3.7 项目案例:通用自定义XML配置类 263 6.4 ADO.NET与XML 266 6.4.1 读XML文档到DataSet 266 6.4.2 DataSet转为XML文档 267 6.5 项目案例1:实现网站的RSS应用 267 6.6 项目案例2:在线实现RSS阅读器 270 本章常见技术面试题 275 常见面试技巧之经典问题巧回答 275 本章小结 276 第7章 Web Service开发详解 277 7.1 Web Service基本概念 278 7.2 Web Service的应用场景 278 7.3 创建简单的Web Service项目应用 280 7.4 Web Service属性介绍 282 7.5 ASP.NET如何调用Web Service 286 7.6 JavaScript如何调用Web Service 288 7.6.1 通过webbehavior.htc调用Web Service 288 7.6.2 通过Microsoft.XMLDOM调用Web Service 291 7.6.3 XMLHTTP POST调用Web Service 293 7.6.4 SOAP调用Web Service 293 7.7 WinForm如何调用Web Service 295 7.7.1 .NET的WinForm调用Web Service 295 7.7.2 手动发送HTTP请求调用Web Service 295 7.8 实现异步调用Web Service 297 7.9 如何保证Web Service的安全 299 7.9.1 通过SoapHeader来增强 Web Service的安全性 299 7.9.2 采用SSL实现加密传输 302 7.9.3 访问IP限制 315 7.10 Web Service开发中需要注意的问题 316 本章常见技术面试题 320 常见面试技巧之经典问题巧回答 320 本章小结 321 第8章 用户体验的杀手锏—— Ajax 323 8.1 Ajax概述 324 8.1.1 什么是Ajax 324 8.1.2 Ajax技术的核心 325 8.1.3 Ajax的工作原理 326 8.1.4 Ajax的优点 326 8.1.5 Ajax的问题 327 8.1.6 Ajax适用场景 327 8.1.7 Ajax不适用场景 329 8.1.8 XMLHttpRequest开发实例 329 8.2 微软VS.NET的Ajax开发 333 8.2.1 安装ASP.NET 2.0 Ajax Extensions 333 8.2.2 创建ASP.NET Ajax应用程序 333 8.2.3 ScriptManager控件使用技巧 335 8.2.4 UpdaetPanel控件使用技巧 336 8.2.5 AsyncPostBackTrigger实现 外部控件引发局部刷新 338 8.2.6 Ajax错误处理 341 8.2.7 告诉用户你正在做什么—— UpdateProgress控件 342 8.2.8 ASP.NET AjaxControToolKit简介 345 8.3 使用第三方组件 Ajax.dll 开发 347 8.4 使用第三方组件AjaxPro的开发 351 8.5 使用第三方组件MagicAjax的开发 351 8.6 Ajax开发原则 352 本章常见技术面试题 353 常见面试技巧之经典问题巧回答 353 本章小结 354 第9章 系统与文件操作 355 9.1 获取系统信息 356 9.1.1 用SystemInformation类获取系统信息 356 9.1.2 用Environment 类获取系统信息 357 9.1.3 通过WMI获取系统信息 358 9.1.4 用RegistryKey 类读取系统信息 361 9.1.5 用API函数获取系统信息 363 9.1.6 获取系统服务信息 365 9.2 文件操作 368 9.2.1 StreamWriter类实现写文件 368 9.2.2 通过File类创建文件 369 9.2.3 通过FileStream类创建文件 370 9.2.4 通过FileInfo类创建文件 370 9.2.5 追加文本 370 9.2.6 读取文本文件 371 9.2.7 读写二进制文件 372 9.2.8 文件复制、移动、删除 374 9.3 文件夹目录操作 375 9.4 读写INI文件 376 9.5 读写注册表 379 本章常见技术面试题 381 常见面试技巧之经典问题巧回答 381 本章小结 382 第10章 网络应用开发 383 10.1 Socket基本编程 384 10.1.1 Socket基本知识 384 10.1.2 Socket服务端开发步骤 386 10.1.3 Socket客户端开发步骤 388 10.2 异步Socket通信——实现MSN机器人 390 10.2.1 机器人服务端 390 10.2.2 客户端实现步骤 395 10.3 基于TCP协议的客户端和服务端 398 10.3.1 TcpListener 实现网络服务端 398 10.3.2 TcpClient实现网络客户端 399 本章常见技术面试题 401 常见面试技巧之经典问题巧回答 401 本章小结 402 第11章 Windows Service开发 403 11.1 什么是Windows服务 404 11.2 创建Windows服务 404 11.3 Windows服务开发常见问题 408 11.4 安装/卸载Windows服务 409 11.4.1 安装Windows服务 409 11.4.2 卸载Windows服务 410 11.4.3 Windows服务应用程序体系结构 411 11.5 调试Windows服务 414 11.5.1 日志调试法 414 11.5.2 附加进程断点调试法 414 本章常见技术面试题 416 职场智慧之初入江湖 416 本章小结 418 第12章 新技术初探 419 12.1 WPF 421 12.1.1 WPF简介 421 12.1.2 WPF何以令人佩服 422 12.1.3 XAML概述 422 12.1.4 WPF开发环境配置 423 12.1.5 项目示例:开发一个简单的WPF应用程序 424 12.2 WCF 427 12.2.1 SOA是什么 427 12.2.2 WCF是什么 428 12.2.3 WCF的优势是什么 428 12.2.4 WCF开发环境 431 12.2.5 项目示例:订票服务WCF开发步骤 431 12.3 LINQ 440 12.3.1 LINQ的架构 441 12.3.2 传统的查询 441 12.3.3 LINQ查询实例 444 12.3.4 LINQ查询语法 448 本章常见技术面试题 449 职场智慧之学习方法 449 本章小结 450 第2篇 系统架构设计思想 第13章 面向对象思想 453 13.1 为什么要面向对象 454 13.2 什么是面向对象 456 13.3 面向对象的特点 458 13.3.1 封装 459 13.3.2 继承 459 13.3.3 多态 460 13.4 面向对象设计和开发实例 466 13.4.1 传统过程化设计实现播放器功能 466 13.4.2 基于面向对象设计实现播放器功能 467 13.4.3 面向对象封装、继承、多态的应用 468 13.4.4 设计模式、条件外置及反射技术的应用 471 13.5 面向对象分析(OOA)的方法 475 13.6 面向对象设计的原则 478 13.6.1 优先使用(对象)组合,而(类)继承 478 13.6.2 针对接口编程,而(接口的)实现 481 13.6.3 开放-封闭法则(OCP) 482 13.6.4 Liskov替换法则(LSP) 485 13.6.5 单一职责原则(SRP) 486 13.6.6 依赖倒置原则(DIP) 486 13.6.7 接口分离原则(ISP) 489 13.6.8 面向对象设计时需要注意的 问题 490 本章常见技术面试题 491 本章小结 491 第14章 三层架构项目开发 493 14.1 什么是三层架构 494 14.1.1 常用的三层架构设计 494 14.1.2 趣味理解:三层架构与养猪 496 14.2 为什么要用三层架构 497 14.3 三层架构项目开发示例 500 14.3.1 数据库设计 500 14.3.2 创建整体解决方案 501 14.3.3 业务实体Model的实现 502 14.3.4 数据访问层的实现 504 14.3.5 业务逻辑层的实现 509 14.3.6 表示层的实现 510 14.4 实现基于工厂模式的三层架构 512 14.4.1 扩展新增数据访问层 512 14.4.2 IDAL抽象接口的实现 513 14.4.3 创建DAL对象的封装 517 14.4.4 实现抽象工厂模式 519 14.4.5 工厂模式的三层架构图 521 本章常见技术面试题 522 职场智慧之程序员的职业规划 523 本章小结 524 第15章 大型网站的性能优化与安全 525 15.1 高效C#编码优化 526 15.2 页面(HTML)优化的方法 534 15.3 ASP.NET开发性能优化 540 15.3.1 如没必要,尽量使用静态HTML页面 540 15.3.2 避免不必要的回送操作 541 15.3.3 尽量在客户端进行用户输入验证 541 15.3.4 关闭不必要的Session状态 542 15.3.5 优先使用HTML控件,而服务器控件 542 15.3.6 不必要时关闭ViewState 542 15.3.7 禁用调试模式 543 15.4 系统缓存管理 543 15.4.1 缓存的分类 544 15.4.2 传统缓存方式 545 15.4.3 页面输出缓存 545 15.4.4 页面输出缓存API 548 15.4.5 页面局部缓存 549 15.4.6 应用程序数据缓存 554 15.4.7 文件缓存依赖 555 15.4.8 数据库缓存依赖 557 15.4.9 Memcached——分布式缓存系统 560 15.4.10 Cacheman——.NET架构 下的分布式缓存项目 561 15.5 数据库访问性能优化 562 15.5.1 选择合适的.NET数据供应器 563 15.5.2 及时地关闭数据库连接 563 15.5.3 跟踪监视SQL Server当前链接池状态 564 15.5.4 善用数据库的存储过程 567 15.5.5 SqlDataRead和Dataset的选择 567 15.5.6 ExecuteNonQuery和 ExecuteScalar的选择 568 15.5.7 数据的绑定DataBinder 568 15.5.8 使用DataReader的注意事项 568 15.5.9 Command对象的使用 569 15.5.10 反复地执行SQL语句用 Prepare() 569 15.5.11 分页的数据访问 570 15.5.12 SQL命令的优化 570 15.5.13 tempdb的使用技巧 572 15.5.14 使用视图代替跨库操作 572 15.5.15 尽量避免大事务操作 572 15.5.16 尽量避免使用游标 573 15.5.17 为你的表建立适当的索引 573 15.6 网站安全防护 573 15.6.1 什么是SQL注入式攻击 573 15.6.2 如何防范SQL注入式攻击 574 15.6.3 实现页面验证码 575 15.6.4 实现文件防盗链 579 15.6.5 采用HTTPS进行访问 584 15.7 IIS优化 584 15.7.1 如何监测IIS服务器并发数 584 15.7.2 采用Gzip压缩页面优化 585 15.7.3 网站应用程序池配置 588 15.8 网站架构优化策略 593 本章常见技术面试题 596 职场智慧之独善其身 596 本章小结 599 第16章 系统设计的原则和技巧 601 16.1 系统设计的一些原则 602 16.1.1 最适合的才是最好的 602 16.1.2 以不变应万变 603 16.1.3 可扩展性 603 16.1.4 可复用性 604 16.2 系统设计的常用方法 604 16.3 敏捷软件开发12条原则 608 16.4 系统架构师成长之路 611 本章常见技术面试题 615 职场智慧之职场政治 615 本章小结 616 第3篇 项目实战解析 第17章 权限角色管理项目解析 619 17.1 权限角色管理概述 620 17.2 项目概述 623 17.3 数据库设计 624 17.3.1 数据库实体关系模型 624 17.3.2 表结构设计 625 17.4 数据访问层 627 17.4.1 类设计 627 17.4.2 代码实现 629 17.5 业务逻辑层 629 17.5.1 类设计 630 17.5.2 扩展.NET Framework用户处理机制 632 17.6 接口调用与Web管理实现 638 17.6.1 Web.config配置 638 17.6.2 用户身份和权限验证 638 17.6.3 用户验证接口方式:权限验证用户控件 640 17.6.4 用户验证接口方式:页面基类 642 17.6.5 用户和角色权限的后台管理 644 职场智慧之如何提升自己在公司的价值 652 本章小结 653 第18章 单点登录系统的设计与实现 655 18.1 项目概述 656 18.1.1 名词定义 656 18.1.2 项目需求描述 656 18.2 业务流程设计 657 18.2.1 用户认证流程 657 18.2.2 安全验证流程 658 18.3 功能与接口设计 659 18.3.1 接口交互设计 659 18.3.2 应用系统接口 660 18.3.3 认证服务器功能和接口 660 18.4 数据库设计 660 18.4.1 数据库实体关系模型 661 18.4.2 表结构设计 661 18.5 实现认证服务器 662 18.5.1 SSO解决方案 663 18.5.2 系统管理后台 664 18.5.3 用户通行证管理中心 665 18.5.4 认证服务器接口开发 673 18.6 应用系统接入接口开发 675 18.6.1 用户身份认证 675 18.6.2 接收状态同步 676 18.6.3 用户注销 678 18.6.4 更新认证服务器状态 679 18.7 接口封装及调用 679职场智慧之晋升之道 682 本章小结 684 第19章 常用.NET开发工具介绍 685 19.1 源码版本管理: Visual SourceSafe 2005 686 19.1.1 安装和配置VSS 2005服务端 686 19.1.2 安装和配置VSS客户端 691 19.1.3 将项目加入VSS版本控制 692 19.1.4 客户端连接VSS 服务器获取源代码 694 19.1.5 设置VSS支持通过 Internet访问 696 19.1.6 版本控制的几个概念 701 19.1.7 VSS项目权限管理 703 19.1.8 VSS数据备份 705 19.1.9 VSS 2005的使用规范 707 19.2 单元测试工具:NUnit 708 19.2.1 NUnit简介 708 19.2.2 手把手教你在.NET中应用NUnit 708 19.3 日志工具——Log4net 714 19.3.1 Log4net简介 714 19.3.2 使用步骤 717 19.3.3 单独配置文件的使用 719 19.4 代码规范检查工具: Microsoft Source Analysis for C# 721 19.5 生成文档注释工具:GhostDoc 723 19.6 反编译工具:Reflector for .NET 732 19.7 动软.NET代码生成器 733 19.8 帮助文档生成工具:Sandcastle 737 19.8.1 Sandcastle介绍 737 19.8.2 生成方式 738 19.8.3 具体生成步骤 740 本章小结 748 附录A 软件编码规范 A.1 概述 750 A.1.1 规范基本原则 750 A.1.2 术语定义 750 A.1.3 文件命名组织 750 A.2 代码外观 751 A.2.1 列宽 751 A.2.2 换行 751 A.2.3 缩进 751 A.2.4 空行 751 A.2.5 空格 752 A.2.6 括号——() 753 A.2.7 花括号——{} 753 A.3 程序注释 754 A.3.1 注释概述 754 A.3.2 文档型注释 755 A.3.3 类注释 755 A.3.4 单行注释 755 A.3.5 注释标签 756 A.4 声明 758 A.4.1 每行声明数 758 A.4.2 初始化 758 A.4.3 位置 758 A.4.4 类和接口的声明 759 A.4.5 字段的声明 759 A.5 命名规范 759 A.5.1 命名概述 759 A.5.2 大写规则 760 A.5.3 缩写 761 A.5.4 命名空间 761 A.5.5 类 762 A.5.6 接口 762 A.5.7 属性(Attribute) 763 A.5.8 枚举(Enum) 763 A.5.9 参数 763 A.5.10 方法 764 A.5.11 属性(property) 764 A.5.12 事件 765 A.5.13 常量(const) 766 A.5.14 字段 767 A.5.15 静态字段 768 A.5.16 集合 768 A.5.17 措词 768 A.6 语句 769 A.6.1 每行一个语句 769 A.6.2 复合语句 769 A.6.3 return语句 769 A.6.4 if、if-else、if else-if语句 770 A.6.5 for、foreach 语句 770 A.6.6 while语句 771 A.6.7 do-while语句 771 A.6.8 switch-case语句 771 A.6.9 try-catch语句 772 A.6.10 using块语句 772 A.6.11 goto语句 772 A.7 其他 773 A.7.1 表达式 773 A.7.2 类型转换 773 A.8 匈牙利命名法 773 A.9 控件命名规则 774 A.9.1 一般命名方法 774 A.9.2 主要控件名简写对照表 774 ……

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧