RSS 2.0 Feed
ASP.NET
摘要:先前相关:微软将发布.NET框架库的大量源代码 在上次Blog的评论中,有人称赞道:确实,调试方便了不是一点点;这真是太cool了;很好,期待很久了!不过也有这样的评论:买一张MSDN就可以了。实际上,MSDN中并没有包含将发布的.NET Framework的源代码。 这项服务还在最后的调试阶段,很快就会对外发布。我在这个周末通过Visual Studio 2008使用了这一服务。对于.NET程序员来说,这真的是非常有助于调试,也提供了软件开发时候很有价值的参考。 为了在Visual Studio 2008中使用此服务,有以下几个要点: 在Debugging | General 选项中,不要选Enable Just My Code (Managed Only). 在Debugging | General 选项中,选择Enable source server support. 在Debugging | Symbols 选项中,添加Microsoft Reference源代码服务的URL。 正式的URL很快会对外发布。 首次使用时需要接受2个License:一个是symbol,另外一个是Source. 这样在调试程序的时候就可以看到.NET Framework的源代码,也可以在调试时跟进(Step into)。 比如说WinForm的Button.cs就被下载到\src\source\.net\8.0\DEVDIV\depot\DevDiv\releases\whidbey\REDBITS\ndp\fx\src\WinForms\Managed\System\WinForms\Button.cs\1\Button.cs。从文件夹的结构可以看到,.NET框架3.5下的WinForm代码实质上还是Whidbey即.NET 2.0。但的确有了一些更新。REDBITS下是.NET 3.5发布时候的代码。 即使将Winform的项目的Target Framework改成2.0或者3.0,我们一样得到上述的Button.cs. 这是因为REDBITS在安装时取代了早先2.0的程序集。 在WPF下的Button.cs被下载到\src\source\.net\8.0\WIN_WINDOWS\lh_tools_devdiv_wpf\Windows\wcp\Framework\System\Windows\Controls\Button.cs\1\Button.cs。虽然现在WPF属于DevDiv的一部分了,从这个文件夹的结构可以看到以前WPF是隶属于Windows的。 在代码的格式上,您也一定能够看出DevDiv和Windows的区别。 除了在文件中添加了几行版权声明: // File provided for Reference Use Only by Microsoft Corporation (c) 2007.// Copyright (c) Microsoft Corporation. All rights reserved. 您看到的代码与微软内部能够看到的代码是完全相同的。那些代码中的注释,还有对private或者internal members的说明,都是在此之前无法从MSDN的文档中得到的信息。 当然没有任何代码是十全十美的。我已经注意到标有HACK HACK HACK注释的代码了。 阅读代码对程序员而言是一件有趣的活动。随着Microsoft Reference源代码服务的推出,我们有更多的阅读材料了!...[阅读全文]

posted @ | Feedback (17) | Filed Under [ WPF/SilverLight ASP.NET WinForm Visual Studio FCL | 库函数 ]

摘要:伴随着Visual Studio 2008的发布,微软将在Microsoft Reference License规则下发布.NET框架库的大量源代码。这意味着只要您接受了许可条款,您就可以浏览这些源代码,而且,Visual Studio 2008的Standard edition和更高版本还支持在调试时跟进(Step into).NET源码。 首批发布的源代码包括BCL (System, IO, Text, Collections, CodeDom, Regular Expression等), ASP.NET, WinForms和WPF。 更多细节,将在最近的blog中讨论,...[阅读全文]

posted @ | Feedback (12) | Filed Under [ WPF/SilverLight ASP.NET WinForm FCL | 库函数 ]

摘要:PDC2005的与会者都得到了一张关于WinFX之Namespace的海报(Poster).其中列出了Windows Presentation Foundation, Windows Communication Foundation,Windows Workflow Foundation所增加的名称空间。同时列出的还有.NET框架2.0/3.0新增的和有了显著改进的名称空间。 没有参加PDC2005的你我可以在此下载该Poster。我已经将其作为Tech Ed期间的Wallpaper了。...[阅读全文]

posted @ | Feedback (14) | Filed Under [ WPF/SilverLight ASP.NET WinForm Tech•Ed ]

摘要:今天MSDN正式推出了Upgrade from ASP.NET 1.x to 2.0的Developer Center,就在http://msdn.microsoft.com/asp.net/migration/upgrade/default.aspx。 新发布的白皮书Common ASP.NET 2.0 Conversion Issues and Solutions详细介绍了升级有关的知识,最佳实践和技术。同时,产品组对Upgrade Wizard也作了大量了工作,提高了其质量。当然,技术人员仍然是升级的关键。   注:从传统ASP和其他Web编程模式升级到ASP.NET的MSDN Developer Center在http://msdn.microsoft.com/asp.net/migration/。 ...[阅读全文]

posted @ | Feedback (10) | Filed Under [ ASP.NET ]

摘要:基于用户反映和与ASP.NET 1.x兼容的考量,自ASP.NET2.0 Beta2开始,那些包含代码,主题(theme),资源等特殊目录将做以下的修改。左栏为Beta1的命名,即Tech Ed 2004上课程使用的名称;右栏为Beta2的命名,而且应该也是RTM时使用的名称。     /Bin 保持不变 /Bin /Code 改变为 /app_code /Resources 改变为 /app_globalresources /LocalResources 改变为 /app_localresources /WebReferences 改变为 /app_webreferences /Data 改变为 /app_data /Browsers 改变为 /app_browsers /Themes 改变为 /app_themes     小结:Bin保持了和V1.x的兼容,而其他目录则有了共同的前缀。   贴子以"现状"提供且没有任何担保也没有授予任何权利...[阅读全文]

posted @ | Feedback (19) | Filed Under [ ASP.NET Tech•Ed ]

摘要:在NT-Bugtraq的邮件列表上首先报告的Security bug in .NET Forms Authentication适用于ASP.NET 1.0 (RTM, SP1, SP2, SP3)和ASP.NET 1.1 (RTM, SP1).   当Form Authentication被使用时,匿名用户在试图访问被保护的页面如http://localhost/WebApplication2/secret.aspx时会被redirect到登录网页如http://localhost/WebApplication2/login.aspx?ReturnUrl=%2fWebApplication2%2fsecret.aspx.   但是如果使用Mozilla,匿名用户可以这样未经认证就访问被保护的页面:http://localhost/WebApplication2\secret.aspx;对IE,可以使用%5C达到类似的效果:http://localhost/WebApplication2%5Csecret.aspx   微软在10月5日发布了What You Should Know About a Reported Vulnerability in Microsoft ASP.NET网页以提供针对此安全漏洞的对策。当前的对策主要是如KB887459所描述的那样在Global.asax或其Code-Behind中在Application_BeginRequest中增加检查      if (Request.Path.IndexOf('\\') >= 0 ||        System.IO.Path.GetFullPath(Request.PhysicalPath) != Request.PhysicalPath) {        throw new HttpException(404, "not found");    } 显然每个Application都需要有这样的检查以应对此安全漏洞。微软还会提供其他的对策,请关注What You Should Know About a Reported Vulnerability in Microsoft ASP.NET网页更新。   对ASP.NET 2.0 Beta1,并没有此漏洞而是得到404错误。   贴子以"现状"提供且没有任何担保也没有授予任何权利...[阅读全文]

posted @ | Feedback (30) | Filed Under [ 安全|security ASP.NET ]

摘要:排行榜在此.   这里是周末休闲之.NET Quiz微软技术教育大会Distributed版本。 TechEd期间每天发布时间不能固定。正确答案未必能够及时回复。   如果你答对了这道题而且参加广州的Tech Ed,您还将获得Microsoft Laptop Light.请在明天DEV322课程前领取。     在ASP.NET 2.0 Beta1中,一个命名为Code的文件夹会得到ASP.NET系统的特殊处理。在以后的版本中其名称可能会变化为Application_Code(参见ASP.NET 2.0 Beta2 中特殊文件夹名称的改变)但是其实质是没有变化。   假设在当前ASP.NET 2.0 Beta1的一个WebSite下创建了这个文件夹Code.下面这些说法正确的有:(选择一个或者多个正确答案)   (1) 加入的类文件比如Code/Utility1.cs,必须提供静态(static)函数才可以被调用。 (2) 在同一文件夹下(在此处就是Code),可以使用混合语言编程。例子:可以同时加入Code/Utility1.cs和Code/Utility2.vb后同时使用2个类。Utility1.cs是C#文件而Utility2.vb为VB.NET. (3) 现在在Code文件夹下创建一个BLL子文件夹(BLL的意思是Business Logic Layer业务逻辑层),加入Code/BLL/Publisher.cs类文件定义了Publisher类,此类中含有一个叫做LookupAuthorsByState的静态函数。在页面default.aspx中调用此函数需要使用的语法就是:BLL. Publisher. LookupAuthorsByState (4) 在Code文件夹下加入XML Schema文件(.xsd)后,ASP.NET系统动态产生其相应的强类型DataSet 类,这样就无须手工使用xsd.exe产生的class文件再加入。 (5) 在Code文件夹下加入图形文件如code/Demo.jpg后,ASP.NET系统动态产生资源文件以包括demo.jpg.   (posted from China Hotel by Marriott)...[阅读全文]

posted @ | Feedback (18) | Filed Under [ ASP.NET Quiz Tech•Ed ]

摘要:排行榜在此.   今天的Quiz主题:ASP.NET 2.0 本月Tech Ed 2004相关课程:DEV 313   1. 关于ASP.NET 2.0中提供的SQL Cache Invalidation,说法正确的有:(选择一个或者多个合适的说法) (1) SQL Server必须是SQL Server 2005各个版本(包括SQL Server Express)或者更高版本而不能是SQL Server 2000或者更低版本。 (2) 必须在Page Directive中使用SqlDependency的属性,如 <%@ Page Language=”VB” SqlDependency=”Northwind:Customers”%><%@ Page Language=”VB” SqlDependency=”Northwind:Customers”%> (3) 必须配置SQL Server以支持SQL Cache Invalidation (4) 必须配置web.config文件以支持SQL Cache Invalidation   2. ASP.NET 2.0与ASP.NET 1.x相比不同之处包括(选择一个或者多个合适的说法) (1) CacheDependency类不再是sealed(密封)的了。 (2) 在同一页面的控件可以使用多个ValidationGroup。 (3) AdRotator控件可以Data Binding(数据绑定)了。 (4) 支持页面的本地化。 (5) 不再支持DataGrid控件而使用更强大的GridView控件。   3.关于ASP.NET 2.0的GridView控件说法正确的是(1) GridView控件必须和DetailsView控件配合使用。 (2) 当且仅当EnableViewState和AllowPaging为True, GridView控件无需用户编码即可支持Paging(分页) (3) 在skin文件中可以对GridView的footerstyle,pagerstyle,headerstyle,rowstyle,selectedrowstyle等格式定制。 (4) GridView控件无需用户编码即可支持Filtering(过滤)和Sorting(排序)   4. Visual Studio 2005对Web编程提供以下Intellisense(智能感知)的支持。(选择一个或者多个合适的说法) (1) 在Web.Config中提供Intellisense (2) 在aspx文件中提供Intellisense (3) 在skin文件中提供Intellisense (4) 在theme文件中提供Intellisense   更多IDE和ASP.NET2.0的新特性介绍,请参加本月Tech Ed China之DEV 313: 高效网站开发示例: 充分利用ASP.NET 2.0的新特性。...[阅读全文]

posted @ | Feedback (47) | Filed Under [ ASP.NET Quiz Tech•Ed ]

摘要:感谢kaneboy等的评论,Site Navigation被翻译成站点导航,而profile被翻译成为用户信息配置。在微软目前的翻译资料上看,profile常被翻译成配置文件。   DEV313的80%的时间是用在演示上,演示包括以下主要内容。如果您认为某些术语翻译不妥,请留言指正。  VS2005 IDE增强 数据绑定控件(Data Binding Control) SQL缓存依赖(SQL Cache Dependency) 主题/皮肤(Themes/Skins) 母版页(Master Pages ) 站点导航(Site Navigation ) 安全和登录(Security and Login ) 角色管理(Role Management ) 用户信息配置(Profile) Web部件(Web Part) 本地化(Localization ) 拷贝,发布和管理Web应用程序...[阅读全文]

posted @ | Feedback (145) | Filed Under [ ASP.NET Localization | 本地化(汉化) Tech•Ed ]

摘要:感谢rIPPER等的建议,Building Block API现在译为“构建模块”而不是“建筑砖块”。 为了提高编程效率,ASP.NET2.0把Web编程中有共性的功能封装起来,以建筑砖块API (Building Block API)的方式提供。这样有助于减少编程实现常用功能的时间。比如说,很多网站都需要用户登录(Login)以做身份验证(Authentication);这样网站对于普通免费用户和付费用户应该能够提供不同的授权(Authorization),往往表现为不同的服务(Service). 以下是ASP.NET2.0构建模块API所覆盖 的六个不同的领域: Membership/成员管理 Role Manager/角色管理 Personalization/个性化 Site Navigation/网站导航 DB Caching/数据库缓存 Configuration/配置管理 如果您觉得翻译有误,请在回复中帮助改正。...[阅读全文]

posted @ | Feedback (12) | Filed Under [ ASP.NET Localization | 本地化(汉化) Tech•Ed ]

摘要:ASP.NET1.x(即1.0,1.1)和ASP.NET2.0都支持Code Inline,即在aspx页面之中包含代码。ASP.NET 1.x和2.0也都建议将代码和页面分离,但是前者叫作Code Behind,而后者叫作Code Beside.为什么有不同的名字? 在ASP.NET1.x的实现上,demo.aspx和demo.aspx.cs被编译成2个不同的类。demox.aspx.cs定义的Demo类继承了System.Web.UI.Page类,而demo.aspx是继承Demo类。因为demo.apx.cs提供了底层的类实现,我们将其合适的称为Code-Behind. 在ASP.NET2.0中,由于局部类型(Partial Class)的引入,demo.aspx和demo.aspx.cs共同定义了一个新类(Demo_aspx),继承了System.Web.UI.Page类。这样demo.aspx和demo.aspx.cs没有先后的区别,而是Side-By-Side,所以我们称代码为Code-Beside. ASP.NET 1.x必须动态(运行时)编译aspx,而静态(运行前)编译Code-Behind;ASP.NET 2.0既可以动态编译aspx和Code-Beside(适合开发),又可以静态编译aspx和Code-Beside(适合部署)。 比较ASP.NET1.x和ASP.NET 2.0在Page Directive上的不同: <%@ Page language="c#" Codebehind="Demo.aspx.cs" Inherits="Prj.Demo" %> <%@ Page Language="C#" CompileWith="Demo.aspx.cs" ClassName="Demo_aspx" %> 关于Partial Class的内容,请参考我的Blog(C#)和Ninputer的Blog(VB.NET). Tech Ed 相关课程:高效网站开发示例: 充分利用ASP.NET 2.0的新特性。欢迎您补充,以不断提高Tech Ed课程质量。...[阅读全文]

posted @ | Feedback (18) | Filed Under [ ASP.NET Tech•Ed ]

摘要:在ASP.NET2.0新增加的MasterPage就好比是网页布局(Layout)上的一个蓝图(blueprint)或者模版(template)。为了支持MasterPage, ASP.NET增加了ContentPlaceholder Control(内容占位控件),Conent Control(内容控件)等新概念。如您所看见,对它们的翻译是比较直接了当的。 但是MasterPage不是那么容易。如果翻译成“蓝图页”或者“模版页”也许意思还是清楚的,但是与原文的Master区别太大。Master在这里的意思是“主要的;为首的;”但是如果翻译成“主页”或者“首页”一定会和Home Page混淆。 虽然在Tech Ed等课程之中却大多数情况下还是直接用原文为妥,为了提供一个翻译,我在颇费脑筋后,决定使用“主导页”的说法。 PS. WorldLingo的机器翻译将MasterPage译为“大师页”;而另外一个虽不对但很有趣的翻译是把ContentPlaceholder翻译为“美满的占位符” 贴子以"现状"提供且没有任何担保也没有授予任何权利...[阅读全文]

posted @ | Feedback (15) | Filed Under [ ASP.NET Localization | 本地化(汉化) Tech•Ed ]

摘要:这是今天正式公布的消息,在http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=667498.部分ASP.NET 2.0的功能将被取消,包括对移动设备的适应性支持,网站计数器,和若干控件。 此随笔原来有较详细说明,但是在发布时网络问题,全部消失。 下个月Tech Ed关于ASP.NET 2.0的课程已经根据变动做了更新。 贴子以"现状"提供且没有任何担保也没有授予任何权利。 ...[阅读全文]

posted @ | Feedback (25) | Filed Under [ ASP.NET Tech•Ed ]

摘要:当系统分区的空闲空间越来越少的时候,任何能腾出空间的方法都是受欢迎的。比如说改变ASP.NET动态编译时使用的临时目录位置。 这个设置可以用于machine.config或者web.config配置文件中,是compilation元素的tempDirectory属性。详情可以参见http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/gngrfcompilationsection.asp 当然定期运行Disk Defragment Utility也可能让空闲空间稍多一些,更能提高系统性能。...[阅读全文]

posted @ | Feedback (13) | Filed Under [ ASP.NET ]