本周ASP.NET英文技术文章推荐[02/17 - 02/23]:AJAX、History、jQuery、最佳实践、LINQ、Visual Studio、JavaScript、IIS

摘要

继续推荐。本期共有7篇文章:

  1. 产品环境中ASP.NET应用程序的10个最佳实践
  2. ASP.NET AJAX History控件使用介绍
  3. 在Visual Studio 2008中让jQuery支持智能感知
  4. LINQ to JSON测试版
  5. Visual Studio主题风格大收集
  6. 在客户端JavaScript脚本中嵌入ASP.NET服务器端变量 第二部分
  7. 使用Visual Studio 2008远程调试IIS中的Web应用程序

 

[1] Top 10 Best Practices for Production ASP.NET Applications (产品环境中ASP.NET应用程序的10个最佳实践)

文章介绍了所谓“产品环境中ASP.NET应用程序的10个最佳实践”,不过感觉有些标题党的意味……

  1. Generate new encryption keys
  2. Encrypt sensitive sections of your web.config
  3. Use trusted SQL connections
  4. Set retail="true" in your machine.config
  5. Create a new application pool for your site
  6. Set the memory limit for your application pool
  7. Create and appropriately use an app_Offline.htm file
  8. Develop a repeatable deployment process and automate it
  9. Build and reference release versions of all assemblies
  10. Load test

 

[2] ASP.NET AJAX History Tutorials (ASP.NET AJAX History控件使用介绍)

ASP.NET AJAX最新引入的History控件能够帮助我们在Ajax应用程序中维护页面中的“历史”纪录。这篇文章就详细地介绍了这个History控件的使用方法。

系列中包含了三篇文章:

  1. ASP.NET AJAX History Part 1: Server-Side
  2. ASP.NET AJAX History Part 2: Client-Side
  3. ASP.NET AJAX History Part 3: Server-Side + Client-Side

作者同时还提供了代码下载:quarterbackrater.zip

以及一个在线的DEMO:here

 

[3] JQuery IntelliSense in Visual Studio 2008(在Visual Studio 2008中让jQuery支持智能感知)

上一篇的推荐中,曾经介绍过Visual Studio 2008对jQuery提供了支持智能感知,当时我还在感叹如果有好心人把VS智能感知所需要的XML注释加上就好了。好在有聪明人用程序实现了这个愿望。

作者的这个工具从jquery-docs-xml.xml中得到XML注释,然后生成了VS能够识别的XML版本,比如:

jQuery = $ = function (expr, context) {
    /// <summary>
    /// 1: $(expr, context) - This function accepts a string containing a CSS or basic XPath selector which is then used to match a set of elements.
    /// 2: $(html) - Create DOM elements on-the-fly from the provided String of raw HTML.
    /// 3: $(elems) - Wrap jQuery functionality around a single or multiple DOM Element(s).
    /// 4: $(fn) - A shorthand for $(document).
    /// </summary>
    /// <returns type="jQuery"></returns>
    /// <param name="expr" />
    /// 1: expr - An expression to search with
    /// 2: html - A string of HTML to create on the fly.
    /// 3: elems - DOM element(s) to be encapsulated by a jQuery object.
    /// 4: fn - The function to execute when the DOM is ready.
    /// </param>
    /// <param name="context" optional="true" />
    /// 1: context - (optional) A DOM Element, Document or jQuery to use as context
    /// </param>
    /// <field type="String" name="jquery">The current version of jQuery.</field>
    /// <field type="Number" name="length">The number of elements currently matched.</field>
};

然后引入,就万事大吉了。

 

[4] LINQ to JSON beta (LINQ to JSON测试版)

上一篇的推荐中介绍了一个LINQ to JavaScript,是在JavaScript中实现了“类似”Linq的语法。不过这回要介绍的这个LINQ to JSON可是货真价实的LINQ Provider。作用就是通过LINQ让JSON字符串能够和对象互相转换。

比如这一段:

List<Post> posts = GetPosts();
 
JObject rss = 
  new JObject(
    new JProperty("channel",
      new JObject(
        new JProperty("title", "James Newton-King"),
        new JProperty("link", "http://james.newtonking.com"),
        new JProperty("description", "James Newton-King's blog."),
        new JProperty("item",
          new JArray(
            from p in posts
            orderby p.Title
            select new JObject(
              new JProperty("title", p.Title),
              new JProperty("description", p.Description),
              new JProperty("link", p.Link),
              new JProperty("category",
                new JArray(
                  from c in p.Categories
                  select new JValue(c)))))))));
 
Console.WriteLine(rss.ToString());

生成的JSON如下:

//{
//  "channel": {
//    "title": "James Newton-King",
//    "link": "http://james.newtonking.com",
//    "description": "James Newton-King's blog.",
//    "item": [
//      {
//        "title": "Json.NET 1.3 + New license + Now on CodePlex",
//        "description": "Annoucing the release of Json.NET 1.3, the MIT license and the source being available on CodePlex",
//        "link": "http://james.newtonking.com/projects/json-net.aspx",
//        "category": [
//          "Json.NET",
//          "CodePlex"
//        ]
//      },
//      {
//        "title": "LINQ to JSON beta",
//        "description": "Annoucing LINQ to JSON",
//        "link": "http://james.newtonking.com/projects/json-net.aspx",
//        "category": [
//          "Json.NET",
//          "LINQ"
//        ]
//      }
//    ]
//  }
//}

 

[5] Visual Studio Programmer Themes Gallery (Visual Studio主题风格大收集)

Visual Studio 2008支持我们将IDE自定义的设置(包括配色方案、编辑器字体等)导入及导出。这样就有“好事者”收集了一大批这样的风格,先参观两个吧:

image

image

 

[6] Embedding ASP.NET Server Variables in Client JavaScript, Part 2 (在客户端JavaScript脚本中嵌入ASP.NET服务器端变量 第二部分)

上一篇的推荐中同样介绍过这个东西,不过作者显然是有了一些改进。比如这个就能将某个容器中所有的服务器端控件的ID都添加上:

// *** Add all Client Ids - note this may cause naming conflicts on duplicate names
// *** in separate naming containers. First one wins!
scriptVars.AddClientIds(this,true);

生成了这样一大段:

var serverVars = {
    "name": "Rick Strahl",
    "company": "Rick's \"East\\West\" Trading",
    "entered": new Date(888054678218),
    "counter": 12.22,
    "txtNameValue": "",
    "headId": "ctl00_head",
    "form1Id": "aspnetForm",
    "ContentId": "ctl00_Content",
    "txtNameId": "ctl00_Content_txtName",
    "btnSubmitId": "ctl00_Content_btnSubmit",
    "panel1Id": "ctl00_Content_panel1",
    "txtPanelTextBoxId": "ctl00_Content_txtPanelTextBox",
    "repListId": "ctl00_Content_repList",
    "gdvTestId": "ctl00_Content_gdvTest"
};

类似的新功能还有不少。

 

[7] Debugging IIS 7.0 Web applications remotely with Visual Studio 2008 (使用Visual Studio 2008远程调试IIS中的Web应用程序)

不能不说,Visual Studio和IIS的功能越来越强大了,文章的标题就说明了这个事实……

这篇文章就介绍了用Visual Studio 2008远程调试IIS中Web应用程序的方法,感兴趣或是想尝尝鲜的朋友都可以看看。

posted on 2008-02-22 21:32  Dflying Chen  阅读(15533)  评论(15编辑  收藏  举报