本周ASP.NET英文技术文章推荐[03/04 - 03/10]

时间:2022-02-16 20:25:15

 

摘要

本期共有10篇文章:

  1. 在ASP以及非ASP.NET URL中使用ASP.NET安全验证
  2. 在PHP中使用Microsoft Ajax Library
  3. Orcas版本C#语言的新特性:自动属性、对象初始化器和集合初始化器
  4. ASP.NET中Session相关排错
  5. 优化ASP.NET 2.0 Web应用程序的执行速度
  6. 使用自定义Profile Provider管理网站的用户
  7. 在ASP.NET AJAX中访问Membership和Profile服务
  8. 理解ASP.NET中数据绑定控件中naming container的层次关系
  9. 深入研究WPF/E
  10. 在IIS7下建立ASP.NET 1.1环境

 

[1] Tip/Trick: Integrating ASP.NET Security with Classic ASP and Non-ASP.NET URLs (在ASP以及非ASP.NET URL中使用ASP.NET安全验证)

Scott Guthrie的又一篇Tip/Trick,内容不是很深入。但颇有他的风格:一步一步循序渐进,辅以插图,让人感觉清晰明了,颇具大师风范。最后还推荐了一本书,看上去似乎不错,不知有没有中文版?

本周ASP.NET英文技术文章推荐[03/04 - 03/10]

 

[2] Microsoft Ajax Library on PHP (在PHP中使用Microsoft Ajax Library)

Microsoft Ajax Library是个与服务器端平台无关的客户端JavaScript脚本库,自然可以使用于PHP中。一些人对此非常感兴趣,并在CodePlex上发起了一个项目,提供PHP平台上类似ScriptManager控件之类的支持。

这篇文章就给出了一段小小的示例程序,依然是最经典的从客户端调用服务器端Web Service。

<?php
 
require_once '../../dist/MSAjaxService.php';
 
class HelloService extends MSAjaxService
{
    function SayHello($name)
    {
        return "Hello, " . $name . "!";
    }
}
 
$h = new HelloService();
$h->ProcessRequest();
 
?>

客户端调用:

<html>
<head>
<title>Hello, World!</title>
<script type="text/javascript" src="../../MicrosoftAjaxLibrary/MicrosoftAjax.js"></script>
<script type="text/javascript" src="HelloService.php/js"></script>
</head>
<body>
Name: <input id="name" type="text" />
<input type="button" value="Say Hello" onclick="button_click(); return false;" />
<br />
Response from server: <span id="response"></span>
</body>
<script type="text/javascript">
    function button_click() {
        HelloService.SayHello($get('name').value, function (result) {
            $get('response').innerHTML = result;
        });
    }
</script>
</html>

 

[3] New C# "Orcas" Language Features: Automatic Properties, Object Initializers, and Collection Initializers (Orcas版本C#语言的新特性:自动属性、对象初始化器和集合初始化器)

March CTP 版本的Visual Studio以及.NET Framework "Orcas"刚刚发布,其中的几点C#语言的新特性值得我们关注,包括自动属性、对象初始化器和集合初始化器。Scott Guthrie又在第一时间将其一一列举。

我感觉最有意思,也是最有用的就是自动属性了。比如我们从前定义这样一个类,很麻烦的需要书写很多类似的重复代码:

    public class Person {
 
        private string _firstName;
        private string _lastName;
        private int _age;
        
        public string FirstName {
 
            get {
                return _firstName;
            }
            set {
                _firstName = value;
            }
        }
 
        public string LastName {
 
            get {
                return _lastName;
            }
            set {
                _lastName = value;
            }
        }        
        
        public int Age {
 
            get {
                return _age;
            }
            set {
                _age = value;
            }
        }
    }

而在Orcas版本的C#中,这样写就够了:

    public class Person {
        public string FirstName { get; set; }
        public string LastName  { get; set; }        
        public int    Age       { get; set; }
    }

 

[4] Troubleshooting Session Related Issues in ASP.NET (ASP.NET中Session相关排错)

ASP.NET中的Session一直是让我们又爱又恨的东西,爱的是功能强大,恨的是经常出现莫名其妙的问题,而且很难重现。

本文就分析了ASP.NET中Session相关问题(最常见的就是Session突然丢失了)的各种可能的导致原因以及相应的解决对策。文章分析的句句在理,非常全面,强烈推荐给每一位ASP.NET开发者阅读!

 

[5] Speed Optimization in ASP.NET 2.0 Web Applications (优化ASP.NET 2.0 Web应用程序的执行速度)

性能优化是程序开发过程中永恒的主题。而对于ASP.NET 2.0这样架构复杂的应用程序来讲,找到性能的瓶颈以及知晓具体的优化措施却并不是件非常容易的事。本文就提纲挈领地分析了ASP.NET 2.0中常见的性能瓶颈,并给出了相应的一般解决方案。文章篇幅不大,内容也均为点到为止,非常适合快速阅读。

 

[6] Manage Web Users With Custom Profile Providers (使用自定义Profile Provider管理网站的用户)

这是Jason N. Gaylord的一篇有关自定义Profile Provider的MSDN文章,篇幅不短且都是大量的文字,读起来可能有点累。不过内容却非常吸引人,如果你已经有了一定的基础,那么坚持看完这篇文章定会让你受益匪浅。

 

[7] Consuming Membership and Profile Services via ASP.NET AJAX (在ASP.NET AJAX中访问Membership和Profile服务)

ASP.NET 2.0的几个应用程序服务我们都不陌生,例如Membership、Role以及Profile等。但这些应用程序服务都是建立在服务器端的,如果我们需要在Ajax应用程序的客户端对其进行访问,那么将会是个不小的挑战。不过ASP.NET AJAX在设计时就考虑到了这一点,它良好地封装了这些应用程序服务,并以简单易用的方式提供给客户端使用。本文就将介绍在ASP.NET AJAX中访问Membership和Profile服务的方法。文章循序渐进,即使没有任何基础,也能很容易地理解。

 

[8] Understanding the naming container hierarchy of ASP.NET databound controls (理解ASP.NET中数据绑定控件中naming container的层次关系)

某数据绑定控件中定义了一个控件,这个控件在运行时将被初始化100个实例,为什么这些似乎拥有同样ID的控件却并不冲突呢?这就是naming container的功劳……

本文深入分析了ASP.NET中数据绑定控件中naming container的设计思想以及实现原理,若你想在ASP.NET领域中百尺竿头,更进一步,那么这篇文章绝对不容错过。

 

[9] Mulling over WPF/E (深入研究WPF/E)

Rick Strahl的又一篇经典力作!文如其名,对WPF/E真的进行了一番mulling(研磨)。不若让我思考的并不是文章本身的内容(画外音:那你推荐个什么!?),而是为什么这位老兄能有这么强大的“功力”,似乎在各个技术领域都有着相当不俗的建树,而且也有着充分的时间写出大篇大篇的Blog……惊为天人一般的MVP,这么生猛究竟是怎样炼成的呢?

 

[10] How to setup ASP.NET v1.1 (Visual Studio .NET 2003) projects on IIS7 (Vista)) (在IIS7下建立ASP.NET 1.1环境)

虽然看上去有些不近人情——旧瓶装新酒?小马拉大车?但是某些时候我们还是需要这样做的。本文就讨论了在IIS7下建立ASP.NET 1.1环境所遇到的一些常见问题以及相应的解决方案。