Atlas 1.0版的命名和产品发布计划

【原文地址】“Atlas” 1.0 Naming and Roadmap
【原文发表日期】Monday, September 11, 2006 10:01 AM

在过去的一年内,我们一直在奋力开发Atlas。Atlas一直在发展,变化和成长,是因为我们得到了惊人数量的反馈和早期采纳。我们看到了围绕着这个产品的难以置信的兴趣和兴奋,光是今年,下载数目就超过25万次。

发布Atlas 1.0版

很多人要求我们在Visual Studio下个版本发布之前推出一个完全支持的Atlas 1.0版。完全支持(Fully supported)意味着,Microsoft提供每天24个小时,每周7天,一年365天的产品支持,以及任何客户可以得到热补丁(hotfix),假如他们遇到影响他们应用的bug的话。这也意味着,产品将有一个为期10年的产品生命周期的承诺─这样客户公司就能靠这个产品来开发关键业务(mission critical)的应用程序。

今天,我非常兴奋地宣布,我们将发布基于ASP.NET 2.0的完全支持的Atlas 1.0 版,而且将确保它与Visual Studio 2005的兼容。我们的目标是在年底左右发布Atlas 1.0 版。计划是,先有一个Beta,然后是RC(发布候选),然后会根据客户反馈来决定最后的发布日期。

Atlas功能(Feature)推出计划

为加速日程安排和能在今年推出完全支持的版本,我们将集中精力推出一套完全支持的核心(core)功能。这套核心功能包括,能允许开发人员建立客户端控件/组件所需的所有常用组件,以及提供与ASP.NET集成的服务器端功能(包括无比受欢迎的UpdatePanel以及其他的服务器控件)。

目前Atlas CTP版本支持的一些功能(feature)不会出现在完全支持的核心功能中。但这些功能会以单独下载的形式继续存在下去,而且会在支持的核心版本之上工作。我们并不是要撤销这些功能,而只是想试着把握好(optimize the timing)第一套完全支持的功能的发布时间,而且确保我们具有以更敏捷的方式继续发展和创新一些功能的灵活性,同时,我们想把核心层的功能“烧制好(bake down)”,以避免将来要对它们做影响巨大的变动。

很明显,我们将在未来对所有的功能继续支持Go-Live  license。那些只想使用受完全支持协议保障的产品的企业客户,可以选择只使用核心版中的那些功能。

随着时间的迁移,我们会把越来越多的功能转移到完全支持的范围中去。我们也将在未来的几个星期内发表一个详细的白皮书,列出支持的功能,发布计划,对CTP版做的产品变动等。

对Atlas的命名

作为发布Atlas的一部分,我们也将最后锁定我们以后将开始使用的产品的官方名称。以前笼统叫做Atlas的东西,从现在开始将有几个名字:

1) 客户端Atlas javascript库将被称作“微软AJAX库(Microsoft AJAX Library)”。这将能在任何浏览器中使用,也将支持任何后端web服务器 (阅读这些博客帖子以了解如何在PHPColdFusion里运行)

2) 与ASP.NET 集成极佳的服务器端Atlas功能,将被称作“ASP.NET 2.0 AJAX 扩展(ASP.NET 2.0 AJAX Extensions)”。作为改动的一部分,Atlas控件的标识前缀也将从<atlas:>变成<asp:>。这些控件将成为ASP.NET下个版本的一部分。

3) 今天的“Atlas控件工具包(Atlas Control Toolkit)是套免费的共享源码的控件和组件,使用它,你可以从ASP.NET 2.0 AJAX Extension中获取最大的价值。以后,这个项目的名称将变成 “ASP.NET AJAX 控件工具包(ASP.NET AJAX Control Toolkit)”。

结语

我们非常兴奋,我们将能推出完全支持的1.0 版。它将是100%的跨浏览器和跨平台。它将简化向ASP.NET应用添加丰富的AJAX功能,以及提供给用户改进的用户体验(UX)。把这个功能以最灵活的方式送到你的手中是我们的首要任务,我们相信,我在上面描述的计划将能达到这个目的。

等到明年的Visual Studio “Orcas”版,生活将变得更加美好,我们将添加丰富的JavaScript Intellisense,调试,和在Visual Studio中对ASP.NET AJAX Extensions的WYSIWYG设计器支持,以及还有许多其他非常棒的功能可利用。

谢谢,

Scott

 
(思归译)

一些关于Visual Studio 2005 代码段(Code Snippet)的信息

非常喜欢Visaul Studio 2005 中的代码段,大大节省了一些无聊的、没有技术含量的代码编写工作,如实体类的属性设置等。

Visual Studio 2005 中的 VB.NET 的代码段比 Visual C# 的多出不少,是不是吸引开发人员?

我们可以修改系统中现有的 snippet 文件(C:\Program Files\Microsoft Visual Studio 8\VC#\Snippets\2052\Visual C#目录),来增加自己常用的 snippet。

网上(http://www.gotcodesnippets.net/)也有不少别人编写的 snippet ,可以按需取用。

要想共享或发布 snippet,最好做成Visual Studio 支持的格式 vsi ,其实是就是一个 更改了后缀名的 zip 文件,里面包含一个 XML 描述文件、一个或多个 snippet 文件(可以从上面网站中获得一个 vsi 文件来参考如何制作过程)。 

在 Visual Studio 2005 中,插入代码段的快捷键是 Ctrl K + Ctrl X ,代码段管理器的快捷窗口是 Ctrl K + Ctrl B。

这里提供一个比较好用的 Public Property 的 Snippet ,是对 http://www.gotcodesnippets.net 上拿到 Public Property 稍加修改之后形成的东西,这个我最常用 🙂 。

<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>Public Property</Title> <Shortcut>pp</Shortcut> <Description>公共属性</Description> <Author>LiYanZhi ([email protected]_</Author> <SnippetTypes> <SnippetType>Expansion</SnippetType> </SnippetTypes> </Header> <Snippet> <Declarations> <Literal> <ID>accessor</ID> <ToolTip>The access modifier</ToolTip> <Default>public</Default> </Literal> <Literal> <ID>type</ID> <ToolTip>属性类型</ToolTip> <Default>string</Default> </Literal> <Literal> <ID>name</ID> <ToolTip>属性名称</ToolTip> <Default>MyProperty</Default> </Literal> </Declarations> <Code Language="csharp"> <![CDATA[private $type$ _$name$; $accessor$ $type$ $name$ { get { return _$name$; } set { _$name$ = value; } }$end$]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>

在修改 Snippet 时,也发现其中的一些不足,比如表达式中函数支持太少,例如上例中,一般用 _name 表示内部字段,用 Name 表示属性,但缺乏第一个字母大小写转换的函数。

CSS 控件适配器工具包新版发布

【原文地址】CSS Control Adapter Toolkit Update
【原文发表日期】Friday, September 08, 2006 6:53 PM

今天,我们发布了ASP.NET 2.0的CSS控件适配器的更新版本,内中包含了bug fixes,用户建议的的功能,以及对新控件的支持。你可以免费下载,马上开始使用它们,来给予下列ASP.NET控件用纯粹的CSS优化过的标识(markup)::

  • Menu
  • TreeView
  • GridView (新)
  • DetailsView
  • FormsView
  • DataList
  • Login (新)
  • ChangePassword (新)
  • CreateUser (新)
  • PasswordRecovery (新)
  • LoginStatus (新)

CSS控件适配器第一次发行时,我曾写帖子说明过,这些控件适配器使用了ASP.NET 2.0中一个新的内置的扩展机制,叫做“控件适配器(control adapters)”。控件适配器允许你将其接入(plug-in)任何ASP.NET 服务器控件,然后它就会覆盖,修改或细调( tweak)那个控件的显示输出逻辑。

控件适配器很酷的地方是,它们不要求页面开发人员对一个新的控件编程,或修改控件编程模型的semantics,即,跟以前一样,你仍旧使用同样的控件属性,方法,事件和模板。建造页面的开发人员可以完全忘却使用了控件适配器,控件适配器模型使得注册和封装这样的支持非常干净。

快速入门示范

在免费的Visual Web Developer或Visual Studio 2005中使用CSS控件适配器工具包,按下列步骤做:

第一步:安装CSS控件适配器工具包:  

下载和安装CSS 控件适配器工具包到你的机器上。点击这里下载一个Visual Studio的.VSI 模板项目,它会生成一个配置了CSS控件适配器的可以运行的项目模板。这是个安全的下载,它不会修改VS或ASP.NET中的任何文件或设置,所以你不要担心它是否会对现有编码造成问题。

第二步:创建一个注册了CSS控件适配器的新网站:

在Visual Web Developer或VS 2005中,在菜单里选择文件->新网站。这会打开“新网站”对话框。选择你的编程语言,然后选择新安装的“CSS友好网站(CSS Friendly Web Site)”项目模板:

这会为你创建一个新的网站项目,它的app_code目录里已经包含了CSS控件适配器的源码。它也包含了一些默认的CSS样式文件,其中有为你预先定义好了的样式类的名称(class name),你可以用它们来定制你需要的任何CSS标识(CSS markup):

第三步:试一些CSS样式控件例子: 

要看控件适配器是如何改变服务器控件的标识的话,研究一下默认添加到新项目中的walkthrough子目录

例如,在下图中,SimpleMenu.aspx网页静态地定义了一个菜单控件,该控件连到了一个OnClick事件处理方法(或者,你也可以使用导航直接转到一个特定的网页去):

<asp:Menu ID=”EntertainmentMenu” runat=”server” Orientation=”Horizontal” onmenuitemclick=”Menu_OnClick” CssSelectorClass=”SimpleEntertainmentMenu”>
    
<Items>
        
<asp:MenuItem Text=”Music”>
            
<asp:MenuItem Text=”Classical” />
            <
asp:MenuItem Text=”Rock”>
                
<asp:MenuItem Text=”Electric” />
                <
asp:MenuItem Text=”Acoustical” />
            </
asp:MenuItem>
            
<asp:MenuItem Text=”Jazz” />
        </
asp:MenuItem>
        
<asp:MenuItem Text=”Movies” Selectable=”false”>
            
<asp:MenuItem Text=”Action” />
            <
asp:MenuItem Text=”Drama” />
            <
asp:MenuItem Text=”Musical” />
        </
asp:MenuItem>
    
</Items>
</asp:Menu>

在code-behind里,Menu_OnClick事件的编码是象这样的:

    Public Sub Menu_OnClick(ByVal sender As ObjectByVal As MenuEventArgs)
        MessageLabel.Text 
“You selected ” & e.Item.Text & “.”
        
e.Item.Selected = True
    End Sub

在运行时,CSS控件适配器会导致菜单输出使用了<li>和<ul>元素的CSS样式化了的的标识,而不是表格,当我们应用一个CSS样式表到页面时,我们将得到一个好看的分层的下拉式菜单:

在看这些样本例子时,你也许要看一下CheckBoxTreeView 这个例子。它示范了如何用CSS来样式化<asp:treeview>控件以使用行内( inline)的复选框:

 

那么CSS控件适配器是如何工作的呢?

控件适配器是些继承了System.Web.UI.Adapters.ControlAdapter基类的类,实现了绘制/渲染(rendering)方法,这些方法允许控件适配器完全定制一个单独的控件显示的标识。当你使用CSS友好网站项目模板创建一个新的网站项目时,11个预建的与CSS友好的控件适配器的源码就被自动地加到你的app_code目录中了:

你可以原本不动地使用这些控件适配器类,不需要改变编码,就能得到与CSS友好的输出,或者你可以对它们进行细调,假如你需要对显示输出做任意定制的话。

控件适配器是通过在当前项目的应用程序根目录的直接子目录,/App_Browsers里,添加一个.browser文件,来与 ASP.NET注册的。.browser 文件里包含了如下所示的简单的标识,允许你指定哪个控件适配器应该用在哪个控件上:

<browsers>
  
<browser refID=”Default”>
    
<controlAdapters>
      
<adapter controlType=”System.Web.UI.WebControls.Menu” adapterType=”CSSFriendly.MenuAdapter” />
      <
adapter controlType=”System.Web.UI.WebControls.TreeView” adapterType=”CSSFriendly.TreeViewAdapter” />
      <
adapter controlType=”System.Web.UI.WebControls.DetailsView” adapterType=”CSSFriendly.DetailsViewAdapter” />
      <
adapter controlType=”System.Web.UI.WebControls.FormView” adapterType=”CSSFriendly.FormViewAdapter” />
      <
adapter controlType=”System.Web.UI.WebControls.DataList” adapterType=”CSSFriendly.DataListAdapter” />
      <
adapter controlType=”System.Web.UI.WebControls.GridView” adapterType=”CSSFriendly.GridViewAdapter” />
      <
adapter controlType=”System.Web.UI.WebControls.ChangePassword” adapterType=”CSSFriendly.ChangePasswordAdapter” />
      <
adapter controlType=”System.Web.UI.WebControls.Login” adapterType=”CSSFriendly.LoginAdapter” />
      <
adapter controlType=”System.Web.UI.WebControls.LoginStatus” adapterType=”CSSFriendly.LoginStatusAdapter” />
      <
adapter controlType=”System.Web.UI.WebControls.CreateUserWizard” adapterType=”CSSFriendly.CreateUserWizardAdapter” />
      <
adapter controlType=”System.Web.UI.WebControls.PasswordRecovery” adapterType=”CSSFriendly.PasswordRecoveryAdapter” />
    </
controlAdapters>
  
</browser>
</browsers>

如果需要,你可以针对不同的浏览器定制不同的控件适配器,或者定义这些控件适配器为“默认(Default)”,这样就会对访问你的应用的所有的浏览器都默认应用这些适配器。

做完这些配置后,就算搞定了,之后,你就可以使用标准的CSS样式表来定制所有的样式信息了。

如有疑问或要汇报任何bug或问题的话,请访问http://forums.asp.net网站的CSS Control Adapters 论坛。上面的CSS控件适配器在VS 2005网站项目模型(Web Site Project Model)和VS 2005 Web应用项目模型(Web Application Project Model)两者中都可使用。而且,CSS控件适配器有VB和C#两个版本你可以用。

在这里我要提起Russ和Heidi,为他们在创建CSS 控件适配器和样本例子方面的出色工作表示特别的感谢!

谢谢,

Scott

标签:, ,

(思归译)

IIS 7.0 RC1

【原文地址】IIS 7.0 RC1
【原文发表日期】Thursday, September 07, 2006 12:05 AM

你也许已经听说过了,上个星期晚些时候,我们发行了Windows Vista RC1。过去的几天里,我一直在我的主要机器上运行它,印象极佳。至今还没死过机,运行非常平稳。

Vista中我参与很多的程序是IIS 7.0─它将是微软web服务器平台的一个重大更新,带来的好玩意成堆。今夏早些时候,我们推出了www.iis.net网站,你可以在上面了解到关于IIS7的详细信息,以及你可以通过IIS7来做的所有酷的事情。 IIS7产品组的主管Bill Staple最近撰写了一篇非常好的博客帖子,讨论了一些他们组在Vista RC1中所做的非常酷的变动和改进。其中他谈到我们最近对新的管理用户界面做的一些变动:

在我今早在凤凰城(Phoenix)做的讲座中,我演示了你现在可以通过新的管理工具做的一些酷的事情。在这里我简单地提一下:

1) 你现在可以用管理工具在Windows客户机器上创建和管理任意数目的网站。你不再局限于单个网站(注意,上图中,我创建了三个网站)。同样地,10个连接的限制也没有了。

2) 我们把IIS 和ASP.NET 管理设置集成到了单个管理工具里。这样,你现在就可以在一个地方查看和设置认证和授权规则,而不是象以前那样要通过多个不同的对话框来做。这给管理人员提供了一个更加一致和清晰的用户界面,以及web平台上统一的管理体验。

3) 管理工具使用了新的分布式web.config配置系统。IIS7不再拥有单一的metabase 配置储存,而将使用和ASP.NET支持的同样的web.config文件模型,这样就允许你把配置和你的web应用的内容一起存储和部署。这意味着,你可以把你的设置和你的web应用一起xcopy 或FTP 到你的远程服务器上,没必要再写管理脚本来定制配置了。

4) 管理工具支持“委派管理(delegated administration)”,意味着主机供应商可以允许客户使用管理工具来远程管理他们共享的网站,当然在这种情形下,管理工具里显示的只是客户自己网站的设置,而不是整个机器的设置。我们内部使用基于HTTP的web-service,来支持跨火墙的连接,而不象以前的IIS管理工具那样,因为使用DCOM 而经常被禁止。 

5) 管理工具是用.NET和Windows Forms写成的,是可以被扩展的。这意味着你可以添加自己的UI模块到管理工具里,为你自己的HTTP 运行时模块和配置设置提供管理支持。  

6) 管理工具内置对ASP.NET 2.0的成员和角色管理系统提供管理界面的支持。这意味着你可以在管理工具里,创建和管理角色和用户,以及给用户指定角色。这工具可以连接你为ASP.NET 2.0建立的任何成员和角色提供器,只要实现了标准的ASP.NET 2.0 提供器契约,你就自动得到了对它们的完整的管理界面的支持,即使在远程共享主机的环境下也行的!

例如,我可以点击上图所示的.NET Roles 图标,创建和管理特定于我的“SampleSite”网站的角色:

然后我可以点击.NET Users图标来创建和管理我的用户,然后把他们对应到我应用中的任何角色上:

IIS 7.0中的好玩意成堆,我们将在未来的博客里讨论它们。想了解详情的话,今天就去访问www.iis.net网站或者订阅它的RSS feed

希望本文对你有所帮助,

Scott

标签:, ,
 
(思归译)

IronPython 1.0发布了

【原文地址】IronPython 1.0 Released
【原文发表日期】Wednesday, September 06, 2006 1:27 AM

我非常兴奋地宣布,今天我们发布了IronPython .NET项目的V1.0版。点击这里从CodePlex免费下载相关的程序,源码以及教程

IronPython是Python编程语言在.NET平台上的实现。它支持一个可交互的控制台,该控制台支持完全的动态编译,并且可以让Python程序员访问所有的.NET库,同时还保持对Python语言完全的兼容性。

IronPython提供了编程语言可以如何利用我们在去年发行的.NET 2.0版本的CLR中新加入的动态语言特性的一个极好的例子。譬如,象“轻量级编码生成”这样的CLR特性,现在可以让动态语言很快地在内存里编译和JIT源码,而且还有之后把它垃圾回收的能力。这意味着,你可以在运行时很快地动态调整类型,而且不用泄漏生成的编码。

IronPython也是我们在研究如何把动态语言的优点与象.NET 这样一个丰富的类库框架和执行环境结合在一起的一个很好的例子。微软IronPython项目的主架构师Jim Hugunin最近与Jon Udell 做了一个非常棒的采访录像,在其中,他示范了一堆展示IronPython特点的非常酷的使用情形(scenarios)。他的演示包括用Python来编写一个计算器程序,里面用到了WPF(即Avalon)和与Speech API的集成。他也示范了如何用象C#这样的强类型语言来重构性能要求非常高的Python编码,以及两者是如何无缝地集成的。你可以点击下面这个屏幕截图来完整收看这个采访录像:

展望未来,你将看到更多的动态语言出现在.NET平台上,更多更酷的新使用情形将成为可能。

希望本文对你有所帮助,

Scott

标签:
 
(思归译)

技巧和诀窍:用VS 2005创建可重用的项目和部件模板

【原文地址】Tip/Trick: Creating Re-Usable Project and Item Templates with VS 2005
【原文发表日期】Monday, September 04, 2006 1:19 PM

通常地,当你做项目时,你有一个标准的做法你喜欢用来组织你的编码,譬如目录布局,要包含的默认的命名空间,要包含的默认的程序集引用,标准的CSS样式表等等。这经常是开发人员在新项目一开始时最先做的事情。

VS 2005和Visual Web Developer中有个新的特征,就是很容易地创建“项目模板(Project Templates)”和“部件模板(Item Templates)”的能力。这些模板允许你捕捉住自己偏爱的编码配置和默认的项目部件,然后把它们包装在可重用的模板里,这样在开始新的项目或者添加新的项目部件时,你就能快速使用它们。这既可以省下你很多手工时间,而且还确保在新项目里,一切都设置得跟你喜欢的方式一模一样。

“项目模板”允许你指定起始的一批文件(以及它们的布局和内容),程序集引用,以及其他你创建新的项目时的习惯配置。你将会在“创建新项目”或者“创建新网站”的对话框中“我的模板(My Templates)”这一栏看到这些自定义的模板。“部件模板”则允许你创建自定义的文件模板。你将会在“添加新的部件(Add New Item)”对话框中的“我的模板”这一栏看到这些模板:

你可以用描述性的名字来对每个项目模板和部件模板命名,在VS 2005中这些模板的数目没有限制。你还可以使用内置的宏替换标记(macro replacement tokens)来定制名字,命名空间,路径,日期/时间等。你也可以很容易地将它们发布出来,与他人共享 ─ 允许你很容易地在自己的开发组里或你自己的朋友圈里散发它们。

想了解其中细节,请参考我一年前写的《如何创建可重用的网站部件模板》(英文) 这个博客帖子

Ameet Phadnis最近在ASPAlliance.com上发表了一篇更棒的文章。该文详细地介绍了如何创建和定制部件和项目模板。你可以在这里读到他的文章。

希望本文对你有所帮助,

Scott

 
(思归译)

对系统管理员或许有用的两个 VBScript

function act1(no)
{
if(document.all.item(“y”+no).style.display==””) document.all.item(“y”+no).style.display=”none”;
else document.all.item(“y”+no).style.display=””;
}

1、在 Windows 或 AD 中批量增加用户

使用方法,新建一 users.csv,字段格式必须按如下顺序,且不能为空: 登录名, 姓名, 密码,  描述;然后将脚本与 CSV 文件存储至同一目录,以管理员/域管理员运行脚本即可。

代码>>  (单击显示/隐藏)

'// Name: BulkAddUser
'// Purpose: 从 CSV 文件中批量生成 Active Directory 用户 '// 注意: '// 1. 源文件必须使用逗号分割 '// 2. 字段必须按如下顺序,且不能为空: 登录名, 姓名, 密码, 描述 '// 3. 只能由域管理员才能运行此程序 Option Explicit Dim oFSO, oTF, objRootDSE, objContainer, i Dim aLine, sLine, sLogon, sPass Dim sLoginName, sDisplayName, sDescription '// 用户批量文件 Const InpFile = "users.csv" Const ForReading = 1 Set oFSO = CreateObject("Scripting.FileSystemObject") Set oTF = oFSO.OpenTextFile(InpFile, ForReading, True) Set objRootDSE = GetObject("LDAP://rootDSE") Set objContainer = GetObject("LDAP://cn=Users," & objRootDSE.Get("defaultNamingContext")) i = 1 Do While oTF.AtEndOfStream <> True sLine = oTF.ReadLine aLine = Split(sLine, ",", -1, 1) sLoginName = aLine(0) sDisplayName = aLine(1) sPass = aLine(2) sDescription = aLine(3) If IsEmpty(sLoginName) Or IsEmpty(sDisplayName) Then MsgBox "" & i & " 行数据有误:登录名和姓名不能为空", vbExclamation, "Add Bulk Users" End If Set objLeaf = objContainer.Create("User", "cn=" & sLoginName) objLeaf.Put "sAMAccountName", LCase(sLoginName) objLeaf.Put "givenName", Left(sDisplayName, 1) objLeaf.Put "sn", Mid(sDisplayName, 2) objLeaf.Put "UserPrincipalName", LCase(sLogon) objLeaf.Put "DisplayName", sDisplayName objLeaf.Put "description", sDescription objLeaf.SetInfo '// 是否重复 If Err.Number = -2147019886 Then MsgBox "User logon for " & sLogon & " already exists.", vbExclamation, "Bulk Add Users" Else '// Set initial password objLeaf.setpassword sPass objLeaf.AccountDisabled = False objLeaf.SetInfo End If i = i + 1 Loop MsgBox "用户创建完毕.", vbInformation, "Bulk Add Users"
Set oTF = Nothing
Set oFSO = Nothing

2、清理 IIS Log 中的非重要信息(如 XML、JS、JPG、GIF等资源的访问日志),只留下 asp 和 aspx 的访问日志。经我在一台服务器上测试,日志文件由 6G 变为 900M ,大大节省了空间。

使用方法:保存代码至 .vbs 文件,确认其中关于 IIS 日志路径是否正确,然后运行即可。

代码>>  (单击显示/隐藏)

<span id=y2 style="DISPLAY: none" color="#0000ff" face="Courier New"

Const ForReading = 1 Const ForWriting = 2 Dim tempLine,curDir,objFolder,objFSO,objFiles,objFile,f curDir = "C:\Windows\System32\LogFiles\" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(curDir) Set objFiles = objFolder.Files For Each f in objFiles If Instr(f.Name,"ex0") > 0 Then Set objFile = objFSO.OpenTextFile(curDir + f.Name, ForReading) Set objFile1 = objFSO.OpenTextFile(curDir + Replace(f.Name,"ex0","bk0"), ForWriting, True) Do Until objFile.AtEndOfStream tempLine = objFile.ReadLine If Instr(tempLine,".asp - 80") > 0 OR Instr(tempLine,".aspx - 80") > 0 Then objFile1.WriteLine tempLine End If Loop objFile.Close objFile1.Close End If Next Msgbox "日志文件清理完毕"

Windows 的安全等级

最近在多处看到仍有人说 Windows 平台的安全等级是 C2 级,这里纠正一下。

正式获得 C2 级安全等级认证是 Windows NT 4.0 ,它是基于美国可信计算机系统评测标准 TCSEC(桔皮书,它把系统安全级别划分为 D、C1、C2、B1、B2、B3 和A级)上获得的,现在没有 TCSEC了,大家都遵循 CC(通用准则,它把系统划分为 EAL 1-7 级)了,Windows 2000、Windows XP SP2 和 Windows 2003 在 CC 上都是达到 EAL4+ 级

TCSEC和CC 的考察维度和要求不太一样,因此两个标准的级别可比性不大,但有些人也对此对过比较,认为在保证性方面,CC 的 EAL4 相当于 TCSEC 的 B1,EAL4+ 比 EAL4 高,相当于原有的 B1 – B2 之间。