??xml version="1.0" encoding="utf-8" standalone="yes"?> 最单的办法是: C:\Documents and Settings\9611\.netbeans\6.0beta2\config\Editors\text\x-java 上述的\9611\要改成你的用户名Q编辑\x-java目录下面的properties.xml文gQ加入: <property class="java.lang.Boolean" name="text-limit-line-visible" value="false"/> 重新启动NetBeans6.0好了,开始你的快乐之旅吧?
4.在线~辑器mditor2.0?br />
清爽的界面,功能也比较全面,对于一般的应用完全能够应付
5.thinking in java 3rd中文?br />
分作两个压羃包?br />
6.ZJ2EE的ajax宝典
7.日志记录Log4J
8.展现c#
9.PowerDesigner教程
有需要的朋友请到以下地址下蝲Q?br />
http://www.dyin.cn/logs/12459969.html
下蝲地址同上
]]>
基本信息
·出版C:?sh)子工?br />
·ISBNQ?121042584
·版次Q?
·出版日期Q?007-5
·开本:0
·_装:q
·|Q?31
【内容简介?br />
Ajax技术是目前最行的技术,它极大地改善了传lWeb应用的用户体验,因此也被UCؓ对传lWeb技术的革命?
本书介绍的内定w常全面,覆盖了Ajax技术的各个斚wQ包括Ajax技术的核心对象XMLHttpRequest对象、JavaScript脚本的详l知识以及DOM和XML的相关知识。除了Ajax的这些基知识外,本书q详l介l了Ajax?个相xӞPrototype.jsQDojoQDWRQJSON-RPC-Java和AjaxTags?.
本书介绍的不是单U的Ajax技巧,而是侧重于介lAjax技术与J2EE技术的融合Q让Ajax技术融入实际的J2EE应用?br />
本书适用于有一定J2EE~程基础的读者,因ؓ单纯的Ajax技术是没有太大用处的。通过阅读本书Q不但可以掌握Ajax的开发技巧,而且可以掌握如何让Ajax技术和J2EE应用实现完美融合?..
【目录信息?br />
W?部分 初识Ajax. 1
W??Ajax入门 2
1.1 重新思考Web应用 2
1.1.1 应用pȝ的发展史 2
1.1.2 传统Web应用的优势和~点 4
1.2 重新设计Web应用 5
1.2.1 RIA应用 5
1.2.2 异步发送请求ƈ避免{待 7
1.2.3 使用Ajax 7
1.3 Ajax?8
1.3.1 Ajax的工作方?8
1.3.2 XMLHttpRequest 9
1.3.3 JavaScript语言 10
1.3.4 HTML面的DOM 10
1.3.5 数据交换和显C?11
1.4 Ajax的基本特?12
1.5 Ajax的替代技?13
1.5.1 Sun的Java Web Start技?13
1.5.2 Microsoft的ClickOnce技?13
1.5.3 ZFlash的Flex 14
如有需要得朋友请到 www.dyin.cn下蝲。如果下载有问题La?a >www.dyin.cn我会通过邮箱发送给需要的朋友?
]]>
]]>
WinXP SP2 截至 7.10 所有更新程?br>
非高优先U更新程?3?
高优先更新E序(77?
WMP10 安装及其相关更新E序(3?
其他更新E序(2?
安装E序会自动检蟩q系l已安装的更新程序。支?nLite 集成pȝ的更新程序自动检!
保安装完后pȝ状态和原版自动升l果完全一_
讯雷下蝲
國之音QVOAQ,世界上規模最大的國際廣播d。本產品_ֿ選取了VOA最具代表性的多方面高清晰錄音報道Q從不同視角生動再現國C會全貌。內容包萬象,涵蓋時事、健店教肌Ӏ經ȟ、科技、探索、娛樂等各方面。產品中的聽力材料都屬於該節目的標準p(Standard English)Q播音速度為每分鐘140?50個單字?br>
目錄
1_時事
2_娛樂
3_發展
4_教育
5_健康
6_U技
7_探烦
8_E濟
9_國萬花{?br>
聽力是英語教怸四項基本技能之一Q也是中國學生的一個難點。突破這個難關不僅有助於其它單項技能的a練Q同時也為培學生的p交際能力奠定一個良好的基礎。在國家教委最q頒佈的《高{學校英語專業基C階D英語教學大E》和《高{學校英語專業高q級p教學大綱》中Q對於大怸、二、三、四q級學生在聽力方面應該達到的標準都作Z詳細的規定。Listen to This 是按照這兩個大Eq要求Q根據中國英語教學的牚w而編寫的一套聽力教E?br>
整套教程共分Z冊。第一冊適合大怸q級學生或英語初思h使用Q第二冊的對象是大學二年級學生和有中{英語水準的自學人;W三冊可供大怸、四q級學生和有較高p水準的自思h使用。每冊均含《學生用書》(Student's BookQ和《教師用書》(Teacher's BookQ,功用不同Q相反相成。《學生用書》以錄音材料中的生詞表、文化背景註釋和配套的練為丅R《教師用書》則包含錄音和書面材料、練答案和盔R文化背景知識的補充讀物?br>
和國內現有的聽力教程相比QListen to This 有以下幾個特點︰
1.教程的第三冊適合p業高年級學生用,以達到教委大E׃W六級和W八級對聽力的要求?br>
2.內容新穎Q聽力材料均選自八十q代後期國外的有聲資料?br>
3.錄音以標準的國x英國音為主,聲音清晰?br>
4.R習形式zL。練的a計參考了國TOEFL考試和英?Cambridge Certificate考試的Ş式,並增加了是非、填充題、聽寫、講座摘抄記和根據筆a回{問等多種形式?
5.《教師用書》中的補充讀物均摘自q報刊和書c,不僅能夠為教師備課提供必要的歷史文化背景Q也可以作為學生的課外閱讀材料Q以擴大學生的知識面?br>
以上牚w不僅使該教程適合課堂教學Q同時也語專業學生和C會各層ơ的p愛好者提供了自學的良好模式?br>
Listen to This2適用於大怺q級學生和有一定基C的p自學人。錄x料選自八十年代中期以來英的錄音材料。全書共?6課課文,每課׃個部分組成。Ş式活潑多樣,涉及了日常生zdC交zd的各個方面,不僅有助於提升學生的聽力技能,也有益於提升學生的英語交際能力。全書的課文按錄x料的難易E度R排Q@序Ԍ既注意與W一冊銜接又為學生繼U用第三冊打下了基C?br>
《學生用書》包括生詞表、文化背景註釋和配套R習三個部分。在使用時應要求學生事先熟?zhn)生詞表中所列的詞彙Q並p文化背景a釋。由於第二冊中增加了Ҏ(gu)上下文作出推測、記{記和整理講座提Eq項訓R_因此Q在W???3?9?5?1課的W三部分分別加上了對這些R習的示說明。在做這部分練前應要求學生熟(zhn)這些a練的目的和要求?br>
《教師手冊》包括錄音的曔R材料、練及{案、和補充p材料三個部分。為了便於教師上課時使用Q配有答案的R習排印在每部分的書面材料之後。第二冊的補充閱讀材料均以課文中所涉及的英風俗和文化特色Z。教師可以在教學中選擇部分內容向學生作一些介紹,以擴大學生的知識面?br>和開口?
׃blogjava不提供附件上传,如有需要请留言Q或者email?/p>
现在|上行的小L序比较多Q有新闻cdP音乐偷Q下载小P那么它们是如何做的呢Q下面我来做个简单介l,希望对各位站长有所帮助?
Q一Q原?
偷E序实际上是通过了XML中的XMLHTTPlg调用其它|站上的|页。比如新dL序,很多都是调用了sina?
新闻|页Qƈ且对其中的htmlq行了一些替换,同时对广告也q行了过滤。用偷E序的优Ҏ(gu)Q无ȝ护网站,因ؓ偷E序中的数据来自其他|站Q它?yu)?
着该网站的更新而更斎ͼ可以节省服务器资源,一般小L序就几个文gQ所有网内定w是来自其他网站。缺Ҏ(gu)Q不E_Q如果目标网站出错,E序也会出错Q?
而且Q如果目标网站进行升U维护,那么偷E序也要q行相应修改Q速度Q因为是q程调用Q速度和在本地服务器上d数据比v来,肯定要慢一些?
Q二Q事?
下面XMLHTTP在ASP中的应用做个单说?
代码:
------------------------------------------------------
代码:
'代码]用XMLHTTPdq程文g
-------------------------------------
如何写ASP入库偷E序
入库偷的原理也很简单:是用XMLHTTPq程d|页的内容,然后Ҏ(gu)需要,对读到的内容q行加工Q过滤,替换Q分c)Q最后得到自己需要的数据Q加入到数据库中?
首先Q我们先用XMLHTTPdq程|页Q我的另一片文章中有介l)?
其次Q对内容q行qoQ这个是比较关键的步骤,比如_我要从远E网上提取出所有urlq接Q我应该怎么做呢Q?
代码:
‘q里用的是正则式
然后Q我们需要根据需要做一些替换功能,把不必要的数据替换掉Q这个比较简单,用Replace函数卛_?
最后,q行数据库操?
-------------------------------
一个例?
代码:
'以下即ؓ面昄部分
?a JSP是SUN公司推出的一U新型的Internet/Intranet开发语aQ和前一代Internet/Intranet开发语a(ASP、PHP)相比QJSP在以下几个方面有了重大的H破Q?1) 通过JSP的扩展标{ֺ和JavaBeans功能Q网站逻辑和网站界面可以完地分离?2) 使用Enterprise JavaBeansQ可以轻村֜在JSP开发的Web中实C务、安全、会话等{企业应用所需要的功能?3) JDBC2.0提供了不同的数据库品无关的数据库连接方式,更重要的是,数据库连接池提供了一U比普通的数据库连接方式效率高得多的连接方式?JSP的语法基本上和Java是相同的Q有Java基础的读者可以很快学会如何用JSPQ而没有Java语言基础的读者,只要循序渐进地阅L书,一样可以成为JSP~程的高手。本书主要分Z个部分:W一部分为JSP基础部分。通过q一部分的学习,读者可以掌握JSP的基本用方法,学会如何使虽JSP来开发一般的中、小型Web应用。这一部分使用常见的Apache Group的Tomcat作ؓJSP引擎的例子。第二部分ؓJSP高应用部分。这一部分主要讲述如何使用JSPq行大型Web应用的开发,Z方便读者学习,本书q专门讲qCSUN公司的J2SDKEE和B公司的Webloglc应用服务器的基本使用Ҏ(gu)?JSP可以在各U操作系l和各种Web服务器下使用Q其代码基本上不需要Q何改动就可以使用。本书ؓ了适应大多数读者的情况Q用了Windows操作pȝ作ؓ例子Q具体的试验q_如下Q?Windows 2000Advanced Server Apachel.3.14 Intemetln允rmation Server 5.0 Tomcat 3.1 J2SDKEE l.2 BEA Wiblogic 5.1 除了上述q_Q书中的代码q在如下q_q行了测试: RedhatUnux 6.1 Apache l.3.12 TOmcat 3.1 BEA Weblogic 4.51 数据库系l主要用了Microsoft SQL Server 7.0Q部分代码用了MySQL?br />
目录
W一部分 JSP入门
W?章 ?概述
1.1 Java技术?br />1.1.1 Java技术的发展
1.1.2 JavaBeans
1.1.3 JDBC
1.1.4 J2EE
1.1.5 EJB
1.1.6 Java Servlet
1.2 JSP技术?br />1.2.1 JSP技术概qW?br />1.2.2 JSP的优势及与其他Web开发工L比较
1.3 JSP开发Web的几U主要方式?br />1.3.1 直接使用JSP
1.3.2 JSP+JavaBeans
1.3.3 JSP+JavaBeans+Servlet
1.3.4 J2EE开发模型?br />1.4 本书用到的Y件及获取
W?章?预备知识
2.1 JavaE序设计基础
2.1.1 Java语言规则
2.1.2 Java变量和函敊W?br />2.1.3 子类
2.1.4 this和super
2.1.5 cȝcd
2.1.6 抽象c?br />2.1.7 接口
2.1.8 包?br />2.2 JavaBeans
2.2.1 JavaBeans的属性?br />2.2.2 JavaBeans的事件?br />2.2.3 持久化?br />2.2.4 用户化?br />2.3 Java Servlet
2.3.1 HTTP Servlet API
2.3.2 pȝ信息
2.3.3 传送HTML信息
2.4 SQL语言
2.4.1 SQL子类型?br />2.4.2 SQL语言的具体命令和使用
2.5 JDBC
2.5.1 什么是 JDBC
2.5.2 JDBC 产品
2.5.3 q接概述
2.5.5 一个简单的例子
W?章 ?JSP开发^台的建立QTomcat
3.1 Tomcat的安装和直接使用
3.2 Tomcat和Apache的配合?br />3.3 Tomcat和IIS的配合?br />3.4 Tomcat的配|和常见问题
3.4.1 Tomcat的主配置文gQserver.xml
3.4.2 Windows下代码保护的问题
3.4.3 Apache、IIS和Tomcat协作时工?br />目录的添加?br />3.4.4 讑֮Tomcat作ؓWindows的服务而启动?br />3.4.5 在Tomcat中徏立新的Web应用E序
W?章 ?JSP的语法和语义
4.1 通用的语法规则?br />4.1.1 元素的语法规则?br />4.1.2 JSP中的相对路径
4.2 注释
4.3 指o
4.3.1 page指o
4.3.2 include指o
4.3.3 taglib指o
4.4 内置对象
4.5 脚本元素
4.5.1 声明
4.5.2 表达式?br />4.5.3 脚本代码
4.6 动作
4.6.1 id和scope属性?br />4.6.2 标准动作
W?章 ?作ؓXML的JSP
5.1 Z么要使用XML相容的语法Ş式?br />5.2 关于文本cd的语法?br />5.2.1 jsp:root元素
5.2.2 公共标识W?br />5.3 指o
5.3.1 page指o
5.3.2 include指o
5.3.1 taglib指o
5.4 脚本元素
5.4.1 声明
5.4.2 脚本代码
5.4.3 表达式?br />5.5 如何一个普通的JSP文g转换Z个XML
文档
5.6 JSP1.1的DTD文g
W?章 ?JSP基础实例
6.1 W一个JSPE序—HelloWorld!
6.2 注释的用?br />6.3 脚本元素
6.3.1 声明
6.3.2 表达式?br />6.3.3 脚本代码
6.4 page指o
6.4.1 import
6.4.2 session
6.4.3 错误处理
6.5 包含其他文g
6.6 使用JavaBean
6.7 内置对象
6.7.1 用request对象获取客户端的数据
6.7.2 用response对象向客L发送信息?br />6.7.3 其他内置对象
6.8 <jsp:forward>
6.9 使用插g
6.10 使用session对象
6.10.1 会话的概念?br />6.10.2 session对象可用的方法和属性?br />6.10.3 session对象的基本例子?br />6.10.4 利用session制作一个购物R
6.10.5 JavaBeans的作用域
6.10.6 利用JavaBeans制作的购物R
6.11 使用application对象
6.11.1 应用的概念?br />6.11.2 application对象可用的方法和属性?br />6.11.3 application对象内包含的pȝ信息
6.11.4 利用application建立一个简单的聊天室?br />W?章?用JSP实现常见的Web应用
7.1 常见的Web应用及分析?br />7.1.1 留言ѝ论坛和C
7.1.2 聊天室?br />7.1.3 搜烦引擎
7.1.4 ?sh)子商务?br />7.1.6 后台理pȝ
7.2 留言板?br />7.2.1 功能分析
7.2.2 功能实现和技术要点?br />7.2.3 代码和分析?br />7.3 q一步完善的留言板?br />7.3.1 功能分析
7.3.2 功能实现和技术要点?br />7.3.3 代码和分析?br />7.4 聊天室?br />7.4.1 功能实现和技术要点?br />7.4.2 代码和分析?br />7.5 下一步?br />W二部分 高JSP技?br />W??JSP开发^台的搭徏QJ2EE
8.1 J2SDKEE的安装和使用
8.1.1 软硬件的支持
8.1.2 安装
8.2 J2SDKEE的配|?br />8.2.1 JDBC的配|?br />8.2.2 事务处理
8.2.3 服务的端口号
8.2.4 日志文g
8.2.5 安全
8.2.6 钝化发生的内存极限?br />8.2.7 JNDI服务器主机?br />8.2.8 HTTP服务的发布目录?br />8.3 WebLogic的安装和使用
8.3.1 软硬件要求?br />8.3.2 安装和启动?br />8.4 WebLogic的配|?br />8.4.1 pȝU参数的讄
8.4.2 WebLogic作ؓHTTP服务器用?br />8.4.3 使用ISAPI桥连接WebLogic和IIS
8.4.4 WebLogic配置CZ
W?章?扩展JSP标签
9.1 概述
9.1.1 扩展标签的作用?br />9.1.2 如何开发扩展标{?br />9.1.3 单的扩展标签
9.1.4 包含内容处理的扩展标{?br />9.1.5 能够协作的扩展标{?br />9.1.6 定义了脚本变量的扩展标签
9.2 标签处理cȝ开发?br />9.2.1 接口和基c?br />9.2.2 开发?br />9.3 标签库文件?br />9.3.1 taglib
9.3.2 tag
9.4 定位一个tld文g
9.4.1 在Web.xml中定位一个tld文g
9.4.2 直接在JSP文g中定位tld文g
9.5 扩展标签实例
9.5.1 得到父标{数据
9.5.2 TestTagc?br />9.5.3 Titlec?br />9.5.4 Datac?br />9.5.5 TLD文g
9.5.6 在JSP中用扩展标{?br />W?0章 ?Enterprise JavaBeans
10.1 Java服务器端lg标准—EJB
10.1.1 EJB和JavaBeans
10.1.2 EJB的开发与使用中的角色
10.2 Session Bean
10.2.1 Session Bean的状态管理模式?br />10.2.2 Session Bean的生命周期?br />10.3 Entity Bean
10.3.1 Entity Bean的特性?br />10.3.2 Entity Bean的生命周期?br />10.4 EJB的开发?br />10.4.1 Enterprise JavaBeans的实际处理文件?br />10.4.2 实现EJBObject文g
10.4.3 实现EJBHome文g
10.4.4 生成ejb-jar.xml文g
10.4.5 打包生成JAR文g
10.5 EJB的部|yJ2SDKEE
10.5.1 使用deploytool打包EJB
10.5.2 使用deploytol部vEJB
10.6 EJB的部|yBEA WebLogic
10.6.1 生成可部|的ejb-jar包?br />10.6.2 部vWbLogic的ejb-jar包?br />10.7 使用EJB
10.7.1 本地讉KEJB
10.7.2 q程讉KEJB
10.8 JSP和EJB
10.9 EJB开发实例—电(sh)子商务应用?br />10.9.1 EJB的实现文件—TestCartEJB
10.9.2 实现Home接口TestCartHome
10.9.3 实现q程Object接口TestCart
10.9.4 EJB的WeblgTestCartWebImp
10.9.5 JSP文g
10.9.6 实例的内部运行逻辑
W?1章 ?其他高功能
11.1 JDBC2.0和JDBC数据库连接池
11.1.1 JDBC2.0新功能概qW?br />11.1.2 l果集增强功q?br />11.1.3 批处理更斊W?br />11.1.4 对Java对象的持久性?br />11.1.5 数据库连接池使用实例
11.2 文g上蝲
11.2.1 实现机理
11.2.2 文g上蝲实例
W?2章 ?JSP高应用实例Q网上书店?br />12.1 概述
12.2 扩展标签的用?br />12.2.1 数据集作用的BookList标签
12.2.2 让数据@环输出的Books标签
12.2.3 输出数据的标{?br />12.2.4 控制面前进、后退的标{?br />12.2.5 试标签
12.3 EJB及其Weblg
12.3.1 ShoppingCart
12.3.2 Books
附录A JSP应用实例Q网上教育代码?br />附录B JavaServer Pages白皮书?br />附录C 常用JSP相关|址
本次分n的ؓ书籍版,非视频,如有需要请留下email。我会快发出Q?/p>
面向对象:
.了解Java语言
.了解SQL及JDBC~程
评内容:
.Java对象持久化技术概q?br />.创徏Hibernate应用
.映射一对多兌关系
.域对象在持久化层的状?br />.Hibernate索策?br />.Hibernate索方?br />.数据库事务与q发
.映射l成关系
.Hibernate与Struts集成
.Hibernate与EJB集成
下蝲地址: http://www.javathinker.org/essay/javaschool_hibernate.rar
Microsoft Corporation
2000 q?12 ?/p>
摘要Q?/b>本文包含有关 Microsoft .NET ?Microsoft .NET 框架的常见问题?/p>
目录
概念问题
q行时技术问?/font>
术语
E序?/font>
应用E序部v及隔?/font>
垃圾回收
q程处理
互操作?/font>
安全?/font>
单地_Microsoft] .NET ?Microsoft 以服务的方式递交软g的一U策略。有兛_整信息,请参阅有兌主题?a >白皮?/font>Q英文)?/p>
以下是白皮书的摘要,要介l了 .NET 的关键内容: 此问题针对的?.NET 框架?NET 框架?.NET q_基础l构的一部分。有?.NET 框架的详l信息,请参阅下一个问题? .NET 框架是创建、部|和q行 Web 服务及其他应用程序的一个环境。它包括三个主要部分Q公paq行时、框架类?ASP.NET?/p>
.NET 框架使?zhn)可以创徏优秀?Web 应用E序。但它也可以帮助(zhn)创建现在的各种应用E序。与当前创徏应用E序的方式相比,.NET 在编写Q?Windows 软gQ?ATL/COM、MFC、Microsoft] Visual Basic] 或标?Microsoft] Win32]Q方面都h更大的优ѝ当Ӟ如果(zhn)是开?Web 站点Q那么从 ASP.NET 开始,(zhn)就会感受到 .NET 框架的强大吸引力?/p>
现在可以?MSDN Online DownloadsQ英文)下蝲 .NET 框架 SDK ?Beta 1 版。鉴于其大小Q我们以多种方式提供?Beta 版:作ؓ一个下载文?(106 MB)Q分?11 部分下蝲Q或者从 Microsoft Developer Store 定购?CDQ? Beta 1 版可以运行在 Microsoft] Windows] 2000、Windows 95/98/ME ?Windows NT] 4.0 上?/p>
另外Q还有一个称?.NET _框架?.NET 框架版本。它用于使蜂H电(sh)话和增强型电(sh)视等讑֤也具?.NET 框架的某些功能?NET _框架运行在 Windows CE 和其他嵌入式操作pȝ上?/p>
.NET 框架与编E语a无关。事实上M语言都可以支?.NET 框架。目前,(zhn)可以用许多语言来创?.NET E序Q包括:C++、Microsoft] Visual Basic.NET、JScript] ?Microsoft 的最新语a——C#。以后,也会有大量的W三方语a可以用来创徏 .NET 框架应用E序Q包?COBOL、Eiffel、Perl、Python、Smalltalk {等?/p>
?.NET 框架中,不仅可以完全讉K COM+ 服务Q而且也更Ҏ(gu)创徏服务lg?/p>
.NET 框架lg可被d?COM+ 应用E序中。在 COM+ 应用E序中,.NET 框架lg可以利用自动lg服务Q例如:事务、对象池、排队组件、事件等{?/p>
DCOM 是用于进E间通讯?COM 基础l构?NET 框架支持大量用于q程间通讯的可插入通道和格式化E序。在托管代码和非托管代码之间q行转换Ӟ.NET 框架使用?COM 基础l构Q尤其是 DCOM。所有?COM+ 服务的方案都使用了托到非托{换,因此默认使用 DCOM。对于注重互操作性的q程间通讯Q?NET 框架也支?SOAPQ简单对象访问协议)?/p>
不。Windows DNA 是用于创建紧耦合的分布式 Web 应用E序的一U体pȝ构。由于分布式应用E序变得需要更多的松耦合原理Q因?Microsoft ?.NET 中发展了该体pȝ构?NET 框架?.NET 体系l构的一部分?/p>
公共语言q行时是 .NET 框架应用E序的执行引擎?/p>
它提供许多服务,包括Q? 公共cdpȝ是多信息cdpȝQ它被内|在公共语言q行时中Q支持大多数~程语言中的cd和操作。公q型系l支持大量编E语a的完全实现?/p>
公共语言规范是一l结构和限制Q用作库~写者和~译器编写者的指南。它使Q何支?CLS 的语a都可以完全用库Qƈ且ɘq些语言可以怺集成。公pa规范是公q型系l的子集。对于那些需要编写代码供其他开发h员用的应用E序开发h员,公共语言规范也非帔R要。如果开发h员遵?CLS 规则来设计公p问的 APIQ那么就可以在支持公paq行时的M其他~程语言中很Ҏ(gu)C用这?API?/p>
MSIL 是与 CPU 无关的指令集?NET 框架E序被编译成 MSIL。它包含加蝲、存储、初始化和调用对象方法的指o?/p>
与元数据和公q型系l结合,MSIL 允许真正的跨语言集成?/p>
MSIL 在执行前被{换ؓ机器代码Q而不是一边解释一Ҏ(gu)行?/p>
托管代码是编写ؓ支持公共语言q行时服务的代码Q请参阅“什么是公共语言q行Ӟ”)。ؓ了支持这些服务,代码必须向运行时提供最别的信息Q元数据Q。默认情况下Q所?C#、Visual Basic.NET ?JScript.NET 代码都是托管代码。Visual Studio.NET C++ 代码在默认情况下不是托管代码Q但通过指定命o行开?(/CLR)Q编译器也可以生成托代码?/p>
与托代码密切相关的是托数据。托数据是由公paq行时的垃圾回收器进行分配和释放的数据。默认情况下QC#、Visual Basic ?JScript.NET 数据是托数据。不q,通过使用Ҏ(gu)的关键字QC# 数据可以被标Cؓ非托数据。Visual Studio.NET C++ 数据在默认情况下是非托管数据Q即使在使用 /CLR 开xQ,但是在?C++ 的托扩展时Q可以用“__gc”关键字类标记为托类。就象该名称所昄的那P它表C类实例的内存由垃圾回收器管理。另外,该类也完全成?.NET 框架的成员,同时具备它所带来的好处和限制。好处的一个例子是Q它可以与其他语a~写的类正确地进行互操作Q如托管?C++ cd以从 Visual Basic cȝ承)Q限制的一个例子是Q托类只能从一个基cȝѝ?/p>
E序集是 .NET 框架应用E序的主要构造块。它是作Z个单一实现单元Q包含一个或多个文gQ来创徏、标识和部v的功能集合。所有的托管cd和资源都可以被标Cؓ仅在其实现单元内讉KQ或者标Cؓ可由该单元以外的代码来访问?/p>
E序集通过清单来进行自我说明。清单是每个E序集的不可或缺的组成部分。清单: 此信息在q行时用于解析引用、强制版本绑定策略以及验证所加蝲的程序集的完整性。因为每一cd都被加蝲到程序集的上下文中,所以运行时可以定q定位Q何正在运行的对象的程序集。程序集也是应用了代码访问安全权限的单元。在定授予其所包含的代码哪些权限时Q每个程序集的标识证据都被认为是独立的?/p>
E序集的自我说明特征也有助于实现无媄响安装和 XCOPY 部v?/p>
专用E序集仅由单一应用E序使用Qƈ且存储在该应用程序的安装目录中(或其子目录中Q。共享程序集是可被多个应用程序引用的E序集。要׃n一个程序集Q该E序集必Lؓq个目的而创建,q可以通过l其指定加密的增强型名称Q用作共享名Uͼ来实现。相反,专用E序集名U只要求在用它的应用程序中是唯一的?/p>
通过区分专用和共享程序集Q我们介l明决定共享的要点。只需单地专用程序集部v在应用程序目录中Q即可确保应用程序只在创建和部v它的那部分中q行。对专用E序集的引用只在专用应用E序目录内部q行解析?/p>
选择创徏和用共享程序集可以有多U原因,例如表达版本{略的能力。共享程序集h加密的增强型名称Q这事实意味着只有E序集的作者才拥有密钥来生成程序集的新版本。因此,如果(zhn)做出策略声明,希望接受E序集的新版本,则?zhn)可以信版本更新由作者来控制和验证。否则,(zhn)就不会接受它们?/p>
对于在本地安装的应用E序Q共享程序集通常被明安装在全局E序集缓存中Q程序集的本地缓存由 .NET 框架l护Q?NET 框架的版本管理特性的关键在于下蝲的代码不会媄响本地安装的应用E序的执行。下载的代码被放在一个特D的下蝲~存中,即某些下蝲lg被编译ؓ׃nE序集,也不能在机器上全局使用q些代码?/p>
?.NET 框架一起发布的c都被编译ؓ׃nE序集?/p>
创徏׃nE序集确实涉及到加密密钥斚w的工作。创建程序集Ӟ只有公共密钥是必要的。支?.NET 框架的编译器提供命o行选项Q或使用自定义属性)Q用于在创徏E序集时提供公共密钥。通常在资源数据库中保留一份常用的公共密钥Qƈ使编译脚本指向此密钥。在发布E序集之前,必须使用相应的私人密钥将其完全标记。这是通过 SDK 工具 SN.exeQ增强型名称Q来完成的?/p>
增强型名U标C?Authenticode 一样需要用证书。它不涉及第三方l织Q不需要付费,也不受证书约束。另外,验证增强型名U的额外开销q远于验证 Authenticode 的开销。不q,增强型名UC会生成Q何信L个出版商的语句。增强型名称使?zhn)可以信l定E序集的内容没有被篡改,在运行时为?zhn)加蝲的程序集来自于(zhn)开发时针对的出版商。但它不会生成有x否信d版商w䆾的语句?/p>
名称I间是类型的一U逻辑命名Ҏ(gu)Q其中简单类型名Uͼ?MyTypeQ前面带有用点分隔的层次l构名称。这L命名Ҏ(gu)完全在开发h员的控制之下。例如,键入 MyCompany.FileAccess.A ?MyCompany.FileAccess.B 在逻辑上将会具有与文g讉K相关的功能?NET 框架使用一U层ơ结构命名方案,用于类型按相关功能的逻辑cdq行分组Q例如,ASP.NET 应用E序框架或远E处理功能。设计工具可以利用名U空间开发h员更Ҏ(gu)在代码中览和引用类型。名U空间的概念与程序集的概念之间没有Q何联pR一个程序集可以包含其层ơ结构名U具有不同名U空间根的类型,而一个逻辑名称I间根可以跨多个程序集。在 .NET 框架中,名称I间是在设计时进行逻辑命名的便h式,而程序集在运行时为类型徏立名UC用域?/p>
通过使应用程序的无媄响安装和 XCOPY 部v成ؓ可能Q?NET 框架化了部v。因为所有的h首先在专用应用程序目录中q行解析Q所以只需单地一个应用程序的目录文g复制到磁盘中Q即可运行该应用E序Q而不需要注册?/p>
此方案对?Web 应用E序、Web 服务和独立的桌面应用E序特别有吸引力。不q,在有些方案中 XCOPY q不以担当分发机制。例如,当应用程序具有很的专用代码Q而依赖于可用的共享程序集Q或者应用程序不是安装在本地Q而是按需下蝲Q。对于这些情况,.NET 框架提供了扩展的代码下蝲服务以及?Windows Installer 的集成?NET 框架提供的代码下载支持通过当前q_提供了许多优势,包括增量下蝲、代码访问安全性(不再有“Authenticode”对话框Q和应用E序隔离Qؓ一个应用程序下载的代码不会影响其他应用E序Q。Windows Installer ?.NET 应用E序可以使用的另外一个强大的部v机制。在 Windows Installer 1.5 中,Windows Installer 的所有特性(包括发行、公布和应用E序修补Q都可以?.NET 应用E序中用?/p>
要由多个应用E序使用的程序集Q如׃nE序集)需要部|到全局E序集缓存中。在预发布版?Beta 版中Q?Alink SDK 工具?/i 选项可将E序集安装到~存中: Windows Installer 的后l版本能够将E序集安装到全局E序集缓存中?/p>
.NET 框架附带了一?Windows 外壳扩展Q用于查看程序集~存。在 Windows 资源理器中Q{?% windir%\assembly 以激zL看器?/p>
应用E序域(通常?AppDomainQ是用于隔离应用E序的虚拟进E。在同一个应用程序作用域中创建的所有对象(换句话说Q从该应用程序的入口点开始沿着对象Ȁzd列的M地方Q都在同一个应用程序域中创建。多个应用程序域可以存在于一个操作系l进E中Q它们成ؓ隔离应用E序的简便方式?/p>
操作pȝq程通过使用各不相同的内存地址I间来提供隔R尽它是有效的Q但也是代h(hun)昂贵的,q且不能辑ֈ大型 Web 服务器所需要的数量。与其相比,公共语言q行旉过理在应用程序域中运行的代码的内存用来强制q行应用E序隔离。这样就保它不会访问应用程序域以外的内存。需要注意的是,只有cd安全的代码才能以q种方式理Q当在应用程序域中加载不安全代码Ӟq行时不能保证隔)?/p>
垃圾回收是计算何时不再能够访问某个对象的一U机制。它?yu)自动释攄该对象用的内存Q也调用用户~写的称为“结束者”的清理例程Q。一些垃圑֛收器Q如?.NET 使用的)会压~内存,q因此减程序的工作集?/p>
对于大多数编Eh员而言Q拥有一个垃圑֛收器Qƈ且用可作ؓ垃圾回收的对象)意味着永远不需要操心释攑ֆ存或引用计数对象Q即使?zhn)使用了复杂的数据l构。但如果(zhn)通常在同一个用于释攑֯象内存的代码块中释放pȝ资源Q文件句柄、锁定等{)Q那么在~码样式斚w需要做一些修攏V用可作ؓ垃圾回收的对象时Q?zhn)应该提供一U方法,来明释攄l资源(也就是说Q由(zhn)的E序控制Q,同时允许垃圾回收器在压羃工作集时释放内存?/p>
所有支持运行时的语a都允许?zhn)从可作ؓ垃圾回收的堆中分配类对象。这在快速分配方面带来了好处Qƈ且ɾ~程人员无需自己来计何时应该显式“free”每个对象?/p>
CLR q提供了 ValueTypes 对象——它们与cȝ|?ValueType 对象是在q行时堆栈(不是堆)中分配的Q因此当(zhn)的代码退出定义这些对象的q程Ӟ自动回收它们。这是 C# 中“struct”的操作方式?/p>
C++ 的托扩展(zhn)可以选择cd象分配的位置。如果?__gc 关键字声明ؓ托管c,它们从可作为垃圑֛收的堆中分配Q如果它们不包含 __gc 关键字,它们与普通的 C++ 对象一样从 C++ 堆中分配Qƈ且用“free”方法显式释放?/p>
有关垃圾回收的的详细信息Q请参阅Q? q程内通讯有两U:在单一应用E序域的上下文中Q或者跨应用E序域。在同一个应用程序域的上下文中,使用代理作ؓ监听机制Q而不涉及送处?序列化。当跨应用程序域Ӟ使用q行时二q制协议来作送处?序列化?/p>
q程间通讯为每个特定目的用一个可插入通道和格式化E序协议? 带有 SOAP 格式化程序的 HTTP 通道QHTTP ?Internet 上或M必须通过防火墙进行通信的时候运行良好) 带有二进制格式化E序?TCP 通道Q对于局域网QTCP 是性能较高的选项Q?/p> 带有 SOAP 格式化程序的 SMTP 通道Q仅对跨计算机有意义Q? 在托代码和非托代码之间进行{换时QCOM 基础l构Q尤其是 DCOMQ用于远E处理。在 CLR 的中间版本中Q这也适用于服务组Ӟ使用 COM+ 服务的组Ӟ。在最l版本中Q配|Q何远E组仉是可能的?/p>
对象的分布式垃圾回收由名为“租用生存期”的pȝ来管理。每个对象都有一个租用时_当到期时Q该对象?CLR 的远E处理基l构断开q接。对象具有一个默认的更新旉——当客户端成功地调用了对象时Q租用将被更新。客L可以昑ּ更新U用?/p>
是。?zhn)现在部v的Q?COM lg都可以在托管代码中用。通常情况下,所需的调整是完全自动q行的?/p>
特别是,可以使用q行时可调用包装 (RCW) ?.NET 框架讉K COM lg。此包装?COM lg提供?COM 接口转换Z .NET 框架兼容的接口。对?OLE 自动化接口,RCW 可以从类型库中自动生成;对于?OLE 自动化接口,开发h员可以编写自定义 RCWQ手动将 COM 接口提供的类型映ؓ?.NET 框架兼容的类型?/p>
是。?zhn)现在创徏的托类型都可以通过 COM 讉K。通常情况下,所需的配|是完全自动q行的。托开发环境的某些新特性不能在 COM 中访问。例如,不能?COM 中用静态方法和参数化构造函数。一般,提前定l定cd所针对的用h一U较好的办法。如果类型需要在 COM 中用,(zhn)将被限制在使用 COM 可访问的Ҏ(gu)?/p>
默认情况下,托管cd可能是可见的Q也可能是不可见的,q由用于~写托管cd的语a军_?/p>
特别是,可以使用 COM 可调用包?(CCW) ?COM 讉K .NET 框架lg。这?RCWQ请参阅上一个问题)怼Q但它们的方向相反。同P如果 .NET 框架开发工具不能自动生成包装,或者如果自动方式不是?zhn)所需要的Q则可以开发自定义?CCW?/p>
是。?P/InvokeQ?NET 框架E序可以通过静?DLL 入口点的方式来访问本Z码库?/p>
下面?C# 调用 Win32 MessageBox 函数的示例: 通常Q这不成问题——大多数应用E序能安全地q行Q不会受恶意d的干扰。通过单地使用标准cd来访问资源(如文Ӟ或执行受保护的操作(例如反{cd的私有成员)Q安全性由q些库来实施。应用程序开发者需要完成的一简单工作是包括权限hQ一U公开的安全性)Q将代码可能接收的权限限制在它所需要的权限范围内。这也确保了如果代码被允许运行,它在q行时将h所需的所有权限?/p>
仅当开发h员需要编写提供新型资源的新基cdӞ他们才需要直接处理安全系l。在q种情况下,q所有的代码都有潜在的安全性问题,代码讉K安全机制其限制在替代了安全pȝ的那部分代码上?/p>
默认安全{略仅给来自本地 Intranet 区域的代码授予有限的权限。这个区域是?Internet Explorer 安全讄定义的,它们应该配置Z企业内部的本地网l相匚w。由于由 UNC 或映驱动器Q例如?NET USE 命oQ命名的文g都需要在本地|络上发送,因此它们也在本地 Intranet 区域中?/p>
默认值是Z安全?Intranet q种最坏情况而设|的。如果?zhn)?Intranet 比较安全Q?zhn)可以修改安全{略Q用 CASPol 工具Q,l本?Intranet 或其一部分Q例如特定的计算机共享名Q授予更多的权限?/p>
当代码试图执行未l授权的操作Ӟ发生安全异常。权限是Z代码Q尤其是其位|)来授予的。例如,?Internet 中运行的代码所得到的权限比在本地计机上运行的代码所得到的权限要,q是因ؓl验证明Q它的可靠性要低一些。因此,要运行由于安全异常而失败的代码Q?zhn)必须增加授予它的权限。一个简单的Ҏ(gu)是将代码Ud更受信Q的位|(例如本地文gpȝQ。但q种Ҏ(gu)q不是在M情况下都有效QWeb 应用E序是一个很好的例子Q企业网l上?Intranet 应用E序是另一个例子)。因此,不要改变代码位置Q而是通过更改安全{略l该位置授予更多的权限。请使用代码讉K安全{略工具 (caspol.exe) 或图形化理工具Q在 Beta 2 和更高版本中可以得到Q来执行此操作。如果?zhn)是代码的开发h员或发行者,(zhn)也可以对它q行数字{Q然后修改安全策略,l带有该数字{的代码授予更多权限。但是,在执行上qCQ何操作时Q请C此代码被授予较少的权限,是因为它不是来自受信ȝ来源——在代码移x地计机或更改安全策略以前,(zhn)应该确保这些代码不会执行恶意或损坏性的操作?/p>
目前QCASPol 命o行工h理安全性的唯一Ҏ(gu)。安全策略由两个U别l成Q按计算机和按用戗我们计划在 .NET 框架W一版中提供全面的管理工具以及企业策略管理支持?/p>
Z证据的安全性(Z授权码)能与 Windows 2000 安全性(Zdw䆾标识Q配合工作。例如,要访问一个文Ӟ托管代码必须h代码讉K安全文g权限Q也必须在具?NTFS 文g讉K权限的登录n份标识下q行?NET 框架中包括的托管库也为基于角色的安全性提供了cR这些都使应用程序能够与 Windows dw䆾标识及用L配合工作?/p>
包括用于创徏和操作新一代服务的 .NET 基础l构和工兗用于实施多信息客户端的 .NET 用户l验Q以及用于启用新一代智?Internet 讑֤?.NET 构造块服务?.NET 讑֤软g?br />
包括 Microsoft] Windows.NETQ其核心集成了一l构造块服务Q、MSN.NET、个阅服务、Microsoft] Office.NET、Microsoft] Visual Studio.NET ?Microsoft] bCentral?for .NET?
许多领域的合作伙伴和开发h员都有机会在 .NET q_上提供企业和垂直服务?
什么是 .NET 框架Q?/h4>
.NET 框架是否只适用于创?Web 站点的用P
从何处可以获?.NET 框架 SDKQ?/h4>
.NET 框架可以q行于哪些^収ͼ
.NET 框架支持哪些~程语言Q?/h4>
.NET 框架?COM+ 服务之间是什么关p?
.NET 框架?DCOM 之间是什么关p?
.NET 框架是否仅仅?Windows DNA 的新名称Q?/h4>
q行时技术问?/h2>
术语
什么是公共语言q行?(CLR)Q?/h4>
什么是公共cdpȝ (CTS)Q?/h4>
什么是公共语言规范 (CLS)Q?/h4>
什么是 Microsoft 中间语言 (MSIL)Q?/h4>
什么是托管代码和托数据?
E序?/h3>
什么是E序集?
什么是专用E序集和׃nE序集?
如果我想创徏一个共享程序集Q在标记和管理密钥对斚w是否需要额外的开销Q?/h4>
名称I间与程序集名称之间有什么区别?
应用E序部v和隔?/h3>
部v .NET 应用E序时可以用哪些选项Q?/h4>
如果我已l编写了一个程序集Qƈ希望在多个应用程序中使用它,我应该在何处部v它?
al /i:myDll.dll
如何才能看到在全局E序集缓存中安装了哪些程序集Q?/h4>
什么是应用E序域?
垃圾回收
什么是垃圾回收Q?/h4>
非确定性垃圑֛收是如何影响代码的?
是否能够避免使用可作为垃圑֛收的堆?
q程处理
如何在公paq行时中q行q程内和q程间通讯Q?/h4>
互操作?/h3>
是否可以?.NET 框架E序中?COM 对象Q?/h4>
是否可以?COM E序中?.NET 框架lgQ?/h4>
是否可以?.NET 框架E序中?Win32 APIQ?/h4>
using System; using System.Runtime.InteropServices; class MainApp { [DllImport("user32.dll", EntryPoint="MessageBox")] public static extern int MessageBox(int hWnd, String strMessage, String strCaption,
uint uiType); public static void Main() { MessageBox( 0, "(zhn)好Q这?PInvokeQ?, ".NET", 0 ); } }安全?/h3>
如何使代码与安全pȝ协调工作Q?/h4>
Z么在|络׃n驱动器中q行代码时会发生安全异常Q?/h4>
如何~写代码Q它在安全pȝ停止该代码时q行Q?/h4>
如何理个h或企业计机的安全性?
Z证据的安全性是如何?Windows 2000 安全性配合工作的Q?/h4>
1Qؓbutton控gd认功能
要想为服务器控gd客户端的事gQ需要用到Attributes属性。Attributes属性是所有的服务器控?/font>都有的一个属性,它用来ؓ最l生成的HTMLd自定义的一些标记。假设W(wng)eb Form上有一个保存按钮btnSave,希望在用L此按钮时提示用户是否实要保?比如一旦保存就无法恢复{?Q则应在Page_Load事g中添加如下代码:
btnSave.Attributes.Add(“onclick?“Javascript:return confirm(‘Are you sure to save??;?
要注意的是‘return’,q是不可省的Q否则即使用L了取消,数据仍然会保存?/font>
2QؓDatagrid中的每一行添加Javascript事g
Datagrid中的子控件是没办法直接访问的Q要实现上面的那U效果,我们需要用到Datagrid的OnItemDataBound事g。OnItemDataBound事g发生在Datagrid的每一行数据绑定到Datagrid之后Q即一行激发一ơ)。首先在Datagrid的声明中dOnItemDataBound属性,如下Q?/font>
此处说明OnItemDataBound事g发生时调用ItemDataBoundҎ(gu)Q在代码后置文g中添加此Ҏ(gu)的定义:
private void OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType != ListItemType.Header && e.Item.ItemType != ListItemType.Footer )
{
LinkButton btnSave = (LinkButton)e.Item.Cells[2].Controls[0];
string strClientID = btnSave.ClientID; //得到该控件的客户端IDQ可供JavaScript调用
btnSave.Attributes.Add("onclick","Javascript:return confirm('Are you sure to save?');");
}
}
׃Datagrid的标题行和脚注行也会Ȁ发此事gQ所以首先判断激发此事g的行不是标题行和脚注行。这里假设btnSave按钮位于Datagrid的第3列(W一列是0Q?/font>
3Q在Javascript中触发服务器端控件事?/font>
让我们再来考虑W一个实例,我们Z存按钮增加了认功能Q只有在用户认后才会执行保存操作,用户不确认的话就不执行,如果我们惌用户按下“取消”时Q执行另外的操作怎么办呢Q这p需要用JS来回?PostBack)服务器端控g完成操作?/font>
当前面中有一个DropDownList控gddlTest,Button按钮btnSave.当选择ddlTest时触发onchange事gQ保存当前的选择|在保存前会让操作者先认Q用L认则保存Q否则{向default.aspxc?/font>
在Page_Load事g中添加如下代码:
string strCMD = Page.GetPostBackClientHyperlink( btnSave, "" );
string script = @"Javascript:ConfirmUpdate(""EVAL_MESSAGE"");";
script = script.Replace( "EVAL_MESSAGE" , strCMD );
ddlTest.Attributes.Add("onchange",script);
q段代码执行后生成的select控g是q样Q?/font>
〈select name="ddlTest" id="ddlTest" onchange="Javascript:ConfirmUpdate("javascript:__doPostBack('btnSave','')");" ?/font>
ConfirmUpdate函数如下
〈SCRIPT language=javascript?br /> function ConfirmUpdate(cmd){
if(confirm("Are you sure to update?"))
{
eval(cmd);
}
else
{
window.location.href="default.aspx"
}
}
?SCRIPT?/font>
q里利用了Javascript eval函数来调用一个字W串中包含的命o。需注意的是包含命o的字W串不能用单引号括v来,因ؓ自动生成的脚本中包括单引P所以这里用两个双引可C字W串本n的双引号?/p>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=586711