RSS 2.0 Feed
2006-10 Entries
摘要:1。Brad Abrams 的 Search autocomplete with ASP.NET AJAX Extensions http://blogs.msdn.com/brada/archive/2006/10/27/search-autocomplete-with-asp-net-ajax-extensions.aspx 使用ASP.NET 2.0 profile store 和ASP.NET AJAX AutoCompleteExtender实现提示查询字符串 2。[来源:Kirk Allen Evans] UpdatePanel开发人员Eilon Lipton写的2篇关于UpdatePanel的帖子 What's up with UpdatePanels and how come nothing works?http://forums.asp.net/thread/1440058.aspx UpdatePanel中最大的变动是在局部更新情形下异步提交中的脚本注册。在早期CTP版本中使用的机制只对简单的情形适用,在复杂的情形下,譬如UpdatePanel中带有一个向导(Wizard)控件的情形,无法在客户端从页面上去掉控件,导致内存泄漏。在ASP.NET AJAX Extensions 1.0 beta版本中,引人了显式注册脚本的模型,这样UpdatePanel知道什么时候该执行什么脚本。ScriptManager多了几个静态的脚本注册方法。 你以前这么调用, Page.ClientScript.RegisterClientScriptBlock(typeof(Foo), "key", "alert('hello'); ", true); 但现在应该这么调用, ScriptManager.RegisterClientScriptBlock(this, typeof(Foo), "key", "alert('hello');", true); 通过这些方法的第一个控件参数,可以判断出注册脚本的这个控件是否包含在UpdatePanel内,如果是的话,在异步更新中,可以决定那个UpdatePanel是否就是当前这个正在更新的UpdatePanel。同时这个控件需要实现dispose逻辑,这样,当UpdatePanel在更新时,清除其内容时,可以调用这些脚本“拆除”所用资源。 可能造成的最大问题是,现有的控件,如果它们注册脚本的话,在UpdatePanel内就不工作了,ATLAS产品组知道这个问题,但为长远计,认为这个改动是必须的。 UpdatePanel内会注册脚本的最常用的控件大概是验证控件,所以这些控件都被更新了,即是Microsoft.Web.UI.Compatibility 命名空间下的那些控件,而且在web.config通过tagMapping的机制把原来的验证控件映射到这些新的控件了。在将来,其他注册脚本的控件也会被更新。   Buying Into Microsoft ASP.NET AJAX without Necessarily Paying For Ithttp://forums.asp.net/thread/1445844.aspx 通过反射,编写ASP.NET AJAX-Aware的控件,既能在有ASP.NET AJAX 的情形下,也能在没有ASP.NET AJAX 的情形下使用。为什么要编写ASP.NET AJAX-Aware 控件?因为如果一个控件要存活在UpdatePanel中, 它需要通过ScriptManager的脚本注册API,而不是使用 Page.ClientScript API。这些新旧API间有一一对应的关系。 如果该控件配属事件处理函数的话,那么该控件必须实现dispose功能。 该控件注册的脚本需要分成2个部分:1。脚本库代码,只包含函数和类定义,为该控件的所有实例共享;2。该控件的初始化代码,每个实例各不相同   作者提供了一个实例,对如何注册脚本做了详细的介绍。   3。Hannes Preishuber 的 ASP.NET AJAX JSON Date serializationhttp://weblogs.asp.net/hpreishuber/archive/2006/10/29/ASP.NET-AJAX-JSON-Date-serialization.aspx 作者发现日期的JSON序列化是 "@977612400000@"......[阅读全文]

posted @ | Feedback (5) | Filed Under [ AJAX/ATLAS ]

摘要: [来源:Brad Abrams ] 在近期举行的 AJAX 体验大会上, jQuery 的作者John Resig 提出了选择一个AJAX框架的标准,主要在文档,社区支持,下载文件大小和受欢迎程度四个方面,而在技术上,则在DOM,Events, Animations,AJAX方面比较。微软Atlas 产品组的主管 Brad Abrams 在他的博客里指出,ASP.NET AJAX框架在文档,社区支持,下载文件大小和受欢迎程度上可以和任何AJAX框架匹敌。John Resig 对此回复说, I'd classify the Microsoft Ajax Library as having:- Moderate DOM Traversal, only basic get by ID - no apparent DOM creation methods.- Acceptable DOM Events.- Good Ajax Support.- No Animation Support.(注:其实ASP.NET AJAX有动画支持) ....Even with just the better DOM support the library would already be ahead of Prototype in directly useful functionality.... Brad Abrams的博客里还指出了几个有意思的地方, 基本的 XmlHttp 抽象和 JavaScript 语言扩展大家都做得差不多了,有区别也不是很大。真正的竞争将在UI widgets层次上展开,有意思的是,这些UI widgets 是不大容易从一个框架移植到另一个框架的,在接下来的6个月至1年内,框架的与众不同之处将渐渐展现出来。 有人指出“Better is Simpler”,应该是指AJAX的易用性,surface area小,而且更加直观。 在客户端和服务器端之间的平衡。AJAX 模型把焦点从一个项目UI模型转移到更着重于应用层次服务的集成。ASP.NET 和Atlas的结合是绝配。 性能随应用场景而变,没有绝对的答案,应该测量的是用户对性能的感觉(user perception of performance),而不是raw......[阅读全文]

posted @ | Feedback (4) | Filed Under [ AJAX/ATLAS ]

摘要:在研究AJAX时,调试 Javascript 大概是经常的事。看到了 Ziemowit 介绍如何在 VS 2005 里调试 Javascript 的这篇文章,推荐一下: Debugging client JavaScript in VS 2005 http://www.developerfusion.co.uk/show/5918/   大概步骤如下: 1。在浏览器里启动脚本调试:在IE里菜单 工具->Internet 选项->高级页中,把Disable script debugging (Internet Explorer) 前的勾去掉 2。然后在 VS 2005 里打开你的项目,把你要调试的网页设置为起始页,然后按F5,然后去 VS 2005 菜单 Debug-> Windows ->Script Explorer,VS 2005就会打开脚本管理器,双击其中某个JS文件,该文件将会在主窗口打开,然后你就可以添加断点,。。。。。 这是我在 VS 2005 里调试 ASP.NET AJAX Beta 1 里的MicrosoftAjaxWebForms.js,查看表单是如何提交的:   【更新】aldebaran 在回复里提到了另一种方法,对这种方法感兴趣的话,具体细节参考 Debug Javascript with IE and Visual Studio 2005 http://brennan.offwhite.net/blog/2006/01/23/debug-javascript-with-ie-and-visual-studio-2005/ 大概这样,设置完菜单 工具-> Internet选项->高级页里启动脚本调试后,关闭浏览器,重新打开IE,打开想调试的网页,然后去菜单 View->Script Debugger->Break at Next Statement。。。然后在网页中要执行Javascript时,就会跳出一个窗口要你选择脚本调试器。如果你选择VS 2005的话,会有一个小问题,它也许会打开文件选择对话框,要你打开JS源码文件,(显然,在上面这个例子中,我没有这个同名的(带长串查询字符串的)文件),但你可以关闭这个对话框,然后双击脚本管理器的文件名就可以了。(在VS 20005 Team System里,发现有一个问题,当你设置脚本断点时,有时光标会跑到别的地方去。) ...[阅读全文]

posted @ | Feedback (25) | Filed Under [ VSTS/TFS AJAX/ATLAS ]

摘要:1。[来源:Brian Goldfarb] ASP.NET 2.0 Control Adapters Beta 3 发布了,瞩目的改进是TreeView可以在PostBack后保持在客户端展开的状态了 CSS Friendly ASP.NET 2.0 Control Adapters (Beta 3.0)http://www.asp.net/cssadapters/ [来源:Brian Goldfarb] Peter Kellner 教你如何把Visual Studio CSS设计模板转化成 ASP.NET 2.0 网页 Zero to Professional Web Site in Two DaysUsing Microsoft’s Visual Studio Design Templateshttp://peterkellner.net/2006/08/28/msprofcsshowto/ 2。[来源:Michael Schwarz] Rick Strahl 使用 Atlas Beta 1 时遇到的问题: 无法调试的框架脚本错误,他发现是由控件变量被多次赋值造成的 无法从Web服务返回 DataSet/DataTable/DataRow PageMethod必须是静态的 出错处理变复杂了 More MS Ajax Painhttp://west-wind.com/weblog/posts/8282.aspx Luis Abreu 则对Beta 1中把 PageMethod 改成静态持赞成态度,但建议微软同时支持静态和实例 PageMethod: Page methods: why I prefer them to be static... http://msmvps.com/blogs/luisabreu/archive/2006/10/24/Page-methods_3A00_-why-I-prefer-them-to-be-static_2E002E002E00_.aspx 3。[来源:Nikhil Kothari] Nikhil Kothari 不久前在 JAOO 2006 大会作了 ASP.NET Ajax 方面的讲座,有相关的PPT和编码下载 : JAOO 2006......[阅读全文]

posted @ | Feedback (7) | Filed Under [ ASP.NET/IIS .NET ]

摘要:如果你感兴趣的话,CodeBetter.COM的 Brendan Tompkins 要在接下来的几个星期内 送掉八本技术书,每周一本。条件是在你的网站添加一个到CodeBetter.COM 的连接,或者在该站的任何一篇博客上添加一个traceback,然后写EMAIL告诉他(具体EMAIL参考原文)具体的地址,然后你就可以加入每周的抽奖,每周四他将宣布一个新获奖者。 这些书包括《Design Patterns》,《Essential Windows Workflow Foundation》,《Framework Design Guidelines》,《Applying Domain-Driven Design and Patterns》,《Essential ASP.NET 2.0》等。 祝你好运!...[阅读全文]

posted @ | Feedback (8) | Filed Under [ 书籍 杂类 ]

摘要:根据微软产品开发部主管Somasegar的博客,开发了 RubyCLR 的 John Lam 将加入微软 .NET Developer Platform 开发组。“....John will be a Program Manager in the CLR team focused on helping make .NET a great platform for dynamic languages.”。 John Lam在自己的博客里也宣布了这事,他说,“I see my mission at Microsoft as helping to make developers happier; to give them tools that make programming fun. ”。 至于 RubyCLR ,John在找人主持这个开源项目的开发。有兴趣者,不妨跟他联系。...[阅读全文]

posted @ | Feedback (6) | Filed Under [ .NET Ruby/Rails ]

摘要:根据Scott Guthrie,微软刚发行的ASP.NET AJAX 1.0 Beta版中包含了很多变化,包括对JavaScript脚本文件的重构以优化下载文件大小,对Safari的支持,调试支持的改进,对UpdatePanel的很多改动,以及客户端脚本库的改动(包括从基于closure的type system转到基于prototype的type system等),详情请参考Scott Guthrie的博客。...[阅读全文]

posted @ | Feedback (5) | Filed Under [ AJAX/ATLAS ]

摘要:Ted Neward 针对他参加的 Patterns & Practices Summit 中的 Open Source in the Enterprise 座谈会中的议题做了评论, ...Certainly, .NET has learned from the five years' lead time the Java community has had: the power of a runtime and bytecode, the usefulness of a large and well-built library upon which to build further, the power of compiled-on-demand Web pages, the usefulness of an openly-extensible build tool, even the "one language" vs. "many languages" debate, all could be said to have been influenced strongly by decisions and experience in the Java community. But Java still has much more it can teach the .NET community:......[阅读全文]

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

摘要:[来源:Saveen Reddy] .NET 框架类库本身没有提供工具分析HTML,以前常用的做法是用正则表达式,或者浏览器控件,或者MSHTML组件,甚至SgmlReader。SgmlReader可以将HTML转化成XML,然后你就可以使用System.Xml命名空间下的类对文件进行查询。 CodePlex上有一个Html Agility Pack项目,是原生的.NET项目,不依赖MSHTML或者ActiveX/COM 对象。其中的HtmlDocument可以加载任何HTML文件(即使该文件是不well-formed的HTML),然后允许你使用类似于System.Xml的对象模型对文件进行查询。 譬如, HtmlDocument doc = new HtmlDocument();doc.Load("somehtml.html"); Console.WriteLine(doc.DocumentNode.InnerHtml);foreach ( HtmlNode node in doc.DocumentNode.SelectNodes("//a")) {     string url = node.GetAttributeValue("href", "");    Console.WriteLine(url);} ...[阅读全文]

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

摘要:[来源:Plip] Plip提到了一篇名为《Top 10 Web 2.0 Attack Vectors》的文章,对十大Web 2.0攻击向量做了综述: 1. AJAX中之跨站脚本攻击例子, Yamanner蠕虫利用了Yahoo Mail的AJAX的跨站脚本漏洞,Samy蠕虫利用了MySpace.com的跨站脚本漏洞。 2. XML 中毒(poisoning)攻击者可以通过复制节点进行DOS攻击,或者生成不合法的XML导致服务器端逻辑的中断。攻击者也可以操纵外部实体,导致打开任何文件或TCP连接端口。XML数据定义的中毒也可以导致运行流程的改变,助攻击者获取机密信息。 3. 运行恶意的AJAX编码AJAX编码可以在不为用户所知的情形下运行,假如用户先登录一个机密网站,机密网站返回一个会话cookie,然后用户在没有退出机密网站的情形下,访问攻击者的网站,攻击者网页上的AJAX编码可以(通过这个会话cookie?)去访问机密网站上的网页,从而窃取用户的机密信息。(注:这里的解释有点含糊,理论上讲,浏览器不会把一个网站的会话cookie传给另外一个网站的,即文中的这句“When the browser makes an AJAX call to any Web site it replays cookies for each request. ”,不完全对) 4. RSS / Atom 注入攻击者可以在RSS feeds里注入Javascript脚本,如果服务器端没有过滤掉这些脚本的话,在浏览器端会造成问题。 5. WSDL扫描和枚举WSDL提供了Web服务所用的技术,以及外露的方法,调用的模式等信息。假如Web服务对不必要的方法没有禁止的话,攻击者可以通过WSDL扫描找到潜在的攻击点。 6. 客户端AJAX编码中的数据验证假如开发人员只依赖客户端验证,不在服务器端重新验证的话,会导致SQL注入,LDAP注入等等。 7. Web服务路由问题Web服务安全协议使用WS-Routing服务,假如任何中转站被攻占,SOAP消息可以被截获。 8. SOAP消息的参数操作类似于SQL注入,假如对SOAP消息里节点的数据不做验证的话。 9. SOAP消息的XPATH注入类似于SQL注入,假如对数据不做验证而直接做XPATH查询的话。 10. 对RIA胖客户端二进制文件操作因为Rich Internet Applications的组件是下载到浏览器本地的,攻击者可以对二进制文件进行逆向工程,反编译编码,通过改动文件,跳过认证逻辑 。...[阅读全文]

posted @ | Feedback (6) | Filed Under [ ASP.NET/IIS AJAX/ATLAS ]

摘要:[来源:Stephen Toub] 也许大家都知道了,从11月期开始,除了英文外,《MSDN杂志》将推出中文,法文,西班牙文,德文,俄文,葡萄牙文版本。 这里是中文版的网址: MSDN 杂志目录: 2006 年 11 月http://msdn.microsoft.com/msdnmag/issues/06/11/default.aspx?loc=zh   向中文版的翻译人员致以衷心的感谢!...[阅读全文]

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

摘要: [来源:Doug Turnure] 基于美国东南部的微软Developer Evangelist Doug Turnure 创办了在线的.NET 大学。 http://www.dotnet-university.com .NET 大学将提供与 .NET 3.0 相关的四项新技术的可下载的课程材料(Courseware)。内容完全免费,每门课75分钟长,每个实验室时间是30分钟,所有的课程内容可以在一天内完成。 如果你想用这些内容提供正式的培训课程,你可以提出请求,他们可以为你提供注册网页,学业证书,以及学友T恤衫等。...[阅读全文]

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

摘要: [来源:paullo ] 内容包括Windows Presentation Foundation,Windows Workflow 和 Windows Communication Foundation。 注册后,可以按自己的进度进行,只要在12月内完成就可以。名额有限,赶紧去注册: Collection 5134 : Developing Rich Experiences with Microsoft® .NET Framework 3.0 and Visual Studio® 2005https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340...[阅读全文]

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

摘要:[来源:Simon's Mu-zings] 微软推出一系列从Redmond直播的webcast,将由产品组的成员主讲。 Smart Client 讲座日程 日期 题目 主讲人 注册网址 11月07日 ClickOnce技巧和诀窍以及Orcas中的新特性 Saurabh Pant link 11月14日 Smart Client的离线数据同步和缓存 Steve Lasker link 11月28日 Orcas中的客户应用服务 Saurabh Pant link 12月04日 在Visual Studio中使用SQL Server Everywhere开发本地和移动数据方案 Steve Lasker link 12月06日 使用IronPython开发敏捷Rich Client 应用 Mahesh Prakriya link   Web 讲座日程   日期 题目 主讲人 注册网址 10月10日 介绍 Microsoft AJAX库 Joe Stagner link 10月10日 Atlas中的应用服务 Mir Tariq link 10月19日 介绍Microsoft ASP.NET 2.0 AJAX 扩展 Joe Stagner link 10月26日 深入探讨UpdatePanel......[阅读全文]

posted @ | Feedback (1) | Filed Under [ ASP.NET/IIS .NET AJAX/ATLAS ]

摘要:看到论坛上的一个正则表达式问题,原来的编码是Ruby的,但考虑到Ruby的正则引擎类型与.NET的相仿,所以这个问题也适用于.NET。把原文篡改一下,问, string s = "banana";Regex re = new Regex("(an)*");Match m = re.Match(s);if (m.Success){     Console.WriteLine("<<{0}>>", m.Value);} 的输出是什么?考虑一下,再继续。。。 如果你见到输出为 <<>> 而不觉得奇怪的话,你大概已经是正则大家,那么不用读下去了。 问问题的这位兄弟奇怪输出为什么不是 <<anan>>? 用他自己的话来说,“但是匹配模式应该是贪婪模式才对啊” 。 如果你在上面添加一行 Console.WriteLine("匹配的位置:{0}", m.Index); 你会发现输出是, 匹配的位置:0   匹配的是字符串的初始位置! 读过 Jeffrey E.F. Friedl 写的正则表达式经典著作《Mastering Regular Expressions》的大概知道,2条最基本的匹配规则是, 1. The match that begins earliest (leftmost) wins.2. The standard quantifiers ( * , + , ? , and {m,n} ) are greedy. 根据这第一条规则,匹配是从字符串的第一个字符的前面开始尝试的,这个尝试包括了在这个位置,对整个正则表达式的所有组合来测试,看是否符合条件,所有的组合都试过后,如果没有匹配的,就会向前移动一个字符,即从第二个字符前开始尝试。。。。(详见该书第三版中讨论正则引擎处理机制的第四章 “The Mechanics of Expression Processing”,在O'REILLY网站上可以下载到。) 再看一下上面的表达式,“(an)*”,因为是“*”,可以匹配0次或多次,所以它能够匹配字符串的这个初始位置以及任何一个没有匹配的位置!试一下  string s = "xyzbanana"; Regex re = new Regex("(an)*"); foreach(Match m in re.Matches(s)) {         Console.WriteLine("在位置:{0}[{1}],匹配<<{2}>>,长度={3}",                                      m.Index,                                      m.Index < s.Length? s[m.Index] : '尾',                                     m.Value,                                     m.Value.Length); } 输出是, 在位置:0[x],匹配<<>>,长度=0在位置:1[y],匹配<<>>,长度=0在位置:2[z],匹配<<>>,长度=0在位置:3[b],匹配<<>>,长度=0在位置:4[a],匹配<<anan>>,长度=4    <----贪婪匹配在位置:8[a],匹配<<>>,长度=0在位置:9[尾],匹配<<>>,长度=0 如果表达式是“(an)+”,则结果有所不同,因为“+”匹配1次或多次,这只有在移动到an字符串之前才会匹配。。。...[阅读全文]

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

摘要:我们敬爱的 Dino Esposito 刚完成了一部新书,《 微软ASP.NET 2.0 AJAX 扩展导引(Introducing Microsoft ASP.NET 2.0 AJAX Extensions)》,该书将于11月份发行。内容提要: Ajax风格的Web应用之构建模块 Atlas应用框架之构建模块 可更新的页面局部(Page Fragment) Atlas控件工具箱和行为 Atlas Client Library Web服务 客户端数据绑定 Atlas Gadgets 该书的第一章《Building Blocks of AJAX-Style Web Applications》可以在这里 直接下载。...[阅读全文]

posted @ | Feedback (3) | Filed Under [ AJAX/ATLAS ]

摘要:[来源:Simon Muzio] 微软ASP.NET 2.0官方网站 : Chinesehttp://www.asp.net/cn/default.aspx?tabid=1   谢谢Simon Muzio和微软Community and Customer Adoption for the .NET FX项目组的全体成员!...[阅读全文]

posted @ | Feedback (4) | Filed Under [ 杂类 ]

摘要: 微软的Mike Benkovich开始了一个Atlas的系列 webcast,日程如下 10月02日 ━ Atlas简介 (Level 100) 10月09日 ━ AJAX 组件 (Level 200) 10月16日 ━ 编写JavaScript (Level 200) 10月23日 ━ 理解XmlHttpRequest (Level 200) 10月30日 ━ 大众Atlas (Level 200) 11月06日 ━ AJAX 控件工具包 (Level 200)...[阅读全文]

posted @ | Feedback (1) | Filed Under [ AJAX/ATLAS ]

摘要:一般情形下,为安全起见,浏览器不允许你在客户端通过XMLHttpRequest访问别的域(参考连接1,2),即使是同一域的子域也不行,譬如www.joycode.com 到 blog.joycode.com。(你可以通过某些设置来访问子域,但因为这方法不是很通行,所有就不考虑了,但如果你感兴趣,参考连