<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/Longer811213" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/Longer811213" type="application/rss+xml"></fs:self_link><lastBuildDate>Tue, 25 Nov 2008 14:22:00 GMT</lastBuildDate><title>Longer811213的专栏</title><link>http://blog.csdn.net/Longer811213/</link><item><title>项目总结</title><link>http://blog.csdn.net/Longer811213/archive/2008/11/25/3369480.aspx</link><wfw:comment>http://blog.csdn.net/Longer811213/comments/3369480.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/Longer811213/comments/commentRss/3369480.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3369480</trackback:ping><description>&lt;br /&gt;两年的项目今天提交了，实在是有些腻了，有些话，忍不住要说出来。&lt;br /&gt;&lt;br /&gt;两年前，刚接手这个项目的时候，有人已经把项目的架子搭了一半，那时候我“比较菜“，花了不少的时间研究“前辈“留下来的代码，慢慢发现“前辈”的架子有些“诡异”（很多代码，都是用js写的，估计有的东西也只有他本人能看得懂，我觉得好代码，应该是简单的，稳定的，而不是搞得后面接手的后辈看不懂的Demo），慢慢发现“权限模块”是死的，硬编码的，又发现“数据提供层”是死的，因为抽象层用的是接口（程序意义上的接口），又发现数据查询的时候没有进行数据分页，还发现，没有统一的错误处理机制…&lt;br /&gt;&lt;br /&gt;这两年里，没少折腾，期间就重构了三个版本（主要是一开始没有设计好统一的UI风格，没有一个良好的用户体验，当然，这都要归咎于项目一开始，就急于求成，急于完成功能模块，留下的苦果）&lt;br /&gt;&lt;br /&gt;期间换过两个美工，设计人员一般都极具个性，但个性归个性，该要重构的设计，还是要重构，该配合的地方还是要配合（没必要耍大牌），大型的Web系统其实比CS系统更难做，你不可能精通所有的技术，你要CSS，&lt;img src =&quot;http://blog.csdn.net/Longer811213/aggbug/3369480.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Tue, 25 Nov 2008 22:22:00 +0800</pubDate><author>Longer811213</author><comments>http://blog.csdn.net/Longer811213/archive/2008/11/25/3369480.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/Longer811213/archive/2008/11/25/3369480.aspx</guid><dc:creator>Longer811213</dc:creator><fs:srclink>http://blog.csdn.net/Longer811213/archive/2008/11/25/3369480.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Longer811213/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Longer811213/~7405727/212080867/5515248</fs:itemid></item><item><title>经典sqlParameter 防注入安全漏洞漫谈</title><link>http://blog.csdn.net/Longer811213/archive/2008/11/24/3360317.aspx</link><wfw:comment>http://blog.csdn.net/Longer811213/comments/3360317.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/Longer811213/comments/commentRss/3360317.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3360317</trackback:ping><description>&lt;br /&gt;每天，当我们打开bugtraq邮件列表，一个个的新漏洞不停的被发掘出来，让我们眼花缭乱：缓冲区溢出，Sql注入，XSS跨站脚本……，于是黑帽子们纷纷就这些公布的细节开始分析漏洞，编写攻击代码并测试之；白帽子们同样也要分析这些漏洞，并写漏洞扫描规则或者防范规则。黑帽子们的攻击代码很快就会在网上流传，脚本小子们也开始忙碌起来，他们不厌其烦的利用这些漏洞取得世界各地的具有漏洞的主机的控制权限，有时候病毒和蠕虫编写者也会来凑凑热闹，把攻击代码制作成病毒和蠕虫，在互联网上传播。&lt;br /&gt;&lt;br /&gt;而我，作为一个应用开发工作者，似乎不那么关心这些网络安全事件，我们按照我们的规律同样在我们的圈子里面周而复始着，每天只想着，自己的这块进度能不能赶上，如何运用更好的方法论和模式来改善我们的开发过程。也许在我们看来，前面提到的那些人，不过是些义务代码审核人员。我们依旧会不假思索的把用户发送过来的字符串不加检查的拷贝到我们自己定义的变量，仍然会通过拼接字符串来构造我们的 SQL查询语句来做我们的查询，也不会多考虑用户在页面里提交的内容是否会另外给我们的网页增加些特效。没有什么比能简单有效的完&lt;img src =&quot;http://blog.csdn.net/Longer811213/aggbug/3360317.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Mon, 24 Nov 2008 18:03:00 +0800</pubDate><author>Longer811213</author><comments>http://blog.csdn.net/Longer811213/archive/2008/11/24/3360317.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/Longer811213/archive/2008/11/24/3360317.aspx</guid><dc:creator>Longer811213</dc:creator><fs:srclink>http://blog.csdn.net/Longer811213/archive/2008/11/24/3360317.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Longer811213/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Longer811213/~7405727/212080868/5515248</fs:itemid></item><item><title>XP 风格的可拖动列、可排序、可改变宽度的DataGrid的例子</title><link>http://blog.csdn.net/Longer811213/archive/2008/11/21/3346562.aspx</link><wfw:comment>http://blog.csdn.net/Longer811213/comments/3346562.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/Longer811213/comments/commentRss/3346562.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3346562</trackback:ping><description>&lt;br /&gt;结合客户端脚本，我们可以创建出可以拖动列，可以拖动改变列宽度，显示、隐藏列、编辑列的XP风格的 DataGrid，下面就是所有的代码。自己调试时请注意修改eMeng.Exam.UltraGrid路径。&lt;br /&gt;查看例子&lt;br /&gt;UltraGrid.aspx&lt;%@ Page language=&quot;c#&quot; Codebehind=&quot;UltraGrid.aspx.cs&quot; AutoEventWireup=&quot;false&quot;
 Inherits=&quot;eMeng.Exam.UltraGrid.UltraGrid&quot; %&gt;
XP 风格的可拖动列、可排序、可改变宽度的DataGrid的例子 XP 风格的可拖动列、可排序、可改变宽度的DataGrid的例子。&lt;br /&gt;UltraGrid.aspx.csusing System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using Sy&lt;img src =&quot;http://blog.csdn.net/Longer811213/aggbug/3346562.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sat, 22 Nov 2008 00:26:00 +0800</pubDate><author>Longer811213</author><comments>http://blog.csdn.net/Longer811213/archive/2008/11/21/3346562.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/Longer811213/archive/2008/11/21/3346562.aspx</guid><dc:creator>Longer811213</dc:creator><fs:srclink>http://blog.csdn.net/Longer811213/archive/2008/11/21/3346562.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Longer811213/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Longer811213/~7405727/212080869/5515248</fs:itemid></item><item><title>ASP.NET 2.0 中的客户端脚本</title><link>http://blog.csdn.net/Longer811213/archive/2008/10/31/3191251.aspx</link><wfw:comment>http://blog.csdn.net/Longer811213/comments/3191251.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/Longer811213/comments/commentRss/3191251.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3191251</trackback:ping><description>&lt;br /&gt;　　在使用 ASP.NET 的时候，我们仍然在许多情况下需要使用客户端脚本。以下是笔者根据自己的经验和一些粗浅的研究，对此作一个简要的总结。&lt;br /&gt;　一、在 HTML 里直接写脚本&lt;br /&gt;　　这个方法是最简单的，直到如今我写网页的时候也几乎还是使用最多的一种方式。也许一些经常使用 RegisterClientScriptBlock 的人会觉得这种方法老土，不过在我看来，它除了可以减少编译时间以外，更主要的是可以减少代码量，可读性也要好一些，更或许还可以避免一些潜在的错误。&lt;br /&gt;　　但是有些情况下，直接写的方法是很难完成要求的，比如说当脚本需要依赖我们在代码中动态生成的控件时，就必须要采用 Register 的方法了。&lt;br /&gt;　　二、使用 Literal 控件写脚本&lt;br /&gt;　　Literal 控件基本上就是写一段文字或代码，所以当然也可以写出客户端脚本来，实质上这个方法与第一个方法基本相同。以我个人来说，此种方法一般是用在写控件上。设想一个情况：我们需要根据某种条件来判断一批具有客户端脚本事件的控件是否显示，当然我们可以使用如 Panel 一类的容器，可&lt;img src =&quot;http://blog.csdn.net/Longer811213/aggbug/3191251.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Fri, 31 Oct 2008 17:24:00 +0800</pubDate><author>Longer811213</author><comments>http://blog.csdn.net/Longer811213/archive/2008/10/31/3191251.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/Longer811213/archive/2008/10/31/3191251.aspx</guid><dc:creator>Longer811213</dc:creator><fs:srclink>http://blog.csdn.net/Longer811213/archive/2008/10/31/3191251.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Longer811213/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Longer811213/~7405727/212080870/5515248</fs:itemid></item><item><title>面向对象之接口学习</title><link>http://blog.csdn.net/Longer811213/archive/2008/09/27/2988499.aspx</link><wfw:comment>http://blog.csdn.net/Longer811213/comments/2988499.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/Longer811213/comments/commentRss/2988499.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2988499</trackback:ping><description>什么是接口？其实，接口简单理解就是一种约定，使得实现接口的类或结构在形式上保持一致。&lt;img src =&quot;http://blog.csdn.net/Longer811213/aggbug/2988499.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sat, 27 Sep 2008 23:49:00 +0800</pubDate><author>Longer811213</author><comments>http://blog.csdn.net/Longer811213/archive/2008/09/27/2988499.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/Longer811213/archive/2008/09/27/2988499.aspx</guid><dc:creator>Longer811213</dc:creator><fs:srclink>http://blog.csdn.net/Longer811213/archive/2008/09/27/2988499.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Longer811213/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Longer811213/~7405727/212080871/5515248</fs:itemid></item><item><title>ExtJS的.NET控件----YuiGrid</title><link>http://blog.csdn.net/Longer811213/archive/2008/09/23/2968518.aspx</link><wfw:comment>http://blog.csdn.net/Longer811213/comments/2968518.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/Longer811213/comments/commentRss/2968518.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2968518</trackback:ping><description>&lt;br /&gt;      YuiGrid是ExtJs的.NET控件， 其功能同标准的GridView控件各有所长，本文将简单的介绍下ExtJS的.NET控件中的YuiGrid控件的一些常用功能和实现。   &lt;br /&gt;一、数据准备&lt;br /&gt;     建立数据（MSSQL 2005）,字段如下图所示：&lt;br /&gt;&lt;br /&gt; 二、效果预览&lt;br /&gt;    &amp;&lt;img src =&quot;http://blog.csdn.net/Longer811213/aggbug/2968518.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 24 Sep 2008 00:11:00 +0800</pubDate><author>Longer811213</author><comments>http://blog.csdn.net/Longer811213/archive/2008/09/23/2968518.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/Longer811213/archive/2008/09/23/2968518.aspx</guid><dc:creator>Longer811213</dc:creator><fs:srclink>http://blog.csdn.net/Longer811213/archive/2008/09/23/2968518.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Longer811213/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Longer811213/~7405727/212080872/5515248</fs:itemid></item><item><title>ASP.NET: 验证与授权完全解析</title><link>http://blog.csdn.net/Longer811213/archive/2008/09/22/2958964.aspx</link><wfw:comment>http://blog.csdn.net/Longer811213/comments/2958964.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/Longer811213/comments/commentRss/2958964.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2958964</trackback:ping><description>   在当今的信息世界里, 无论是门户网站, 电子商务, 社区论坛, 都有一个共性: 它们通常都需要验证当前用户的身份并根据验证结果判断用户所具有的权限.&lt;br /&gt;例如博客园, 它允许未注册的匿名用户可能查看帖子, 但是不允许他们发表帖子.&amp;nb&lt;img src =&quot;http://blog.csdn.net/Longer811213/aggbug/2958964.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Mon, 22 Sep 2008 08:11:00 +0800</pubDate><author>Longer811213</author><comments>http://blog.csdn.net/Longer811213/archive/2008/09/22/2958964.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/Longer811213/archive/2008/09/22/2958964.aspx</guid><dc:creator>Longer811213</dc:creator><fs:srclink>http://blog.csdn.net/Longer811213/archive/2008/09/22/2958964.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Longer811213/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Longer811213/~7405727/212080873/5515248</fs:itemid></item><item><title>[.NET 基于角色安全性验证] 之三：ASP.NET Forms 身份验证</title><link>http://blog.csdn.net/Longer811213/archive/2008/09/22/2958963.aspx</link><wfw:comment>http://blog.csdn.net/Longer811213/comments/2958963.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/Longer811213/comments/commentRss/2958963.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2958963</trackback:ping><description>在开发过程中，我们需要做的事情包括：&lt;br /&gt;&lt;br /&gt;1. 在 web.config 中设置 Forms 身份验证相关参数。&lt;br /&gt;2. 创建登录页。&lt;br /&gt;&lt;br /&gt;登录页中的操作包括：&lt;br /&gt;&lt;br /&gt;1. 验证用户名和密码是否正确。&lt;br /&gt;2. 创建身份验证票证对象。&lt;br /&gt;3. 将身份验证票证对象加密成字符串，写入 Cookies。&lt;br /&gt;4. 重定向到原始请求 URL。&lt;br /&gt;&lt;br /&gt;1. 简单演示&lt;br /&gt;&lt;br /&gt;web.config 
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt&lt;img src =&quot;http://blog.csdn.net/Longer811213/aggbug/2958963.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Mon, 22 Sep 2008 08:10:00 +0800</pubDate><author>Longer811213</author><comments>http://blog.csdn.net/Longer811213/archive/2008/09/22/2958963.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/Longer811213/archive/2008/09/22/2958963.aspx</guid><dc:creator>Longer811213</dc:creator><fs:srclink>http://blog.csdn.net/Longer811213/archive/2008/09/22/2958963.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Longer811213/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Longer811213/~7405727/212080874/5515248</fs:itemid></item><item><title>Cookie,让我更加了解你吧!</title><link>http://blog.csdn.net/Longer811213/archive/2008/09/19/2949326.aspx</link><wfw:comment>http://blog.csdn.net/Longer811213/comments/2949326.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/Longer811213/comments/commentRss/2949326.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2949326</trackback:ping><description>&lt;br /&gt;     Cookie这个东东,第一次接触WEB的时候,就了解它了,用起来嘛也很简单.但是对这个东西一直缺少完整的认识,最近正好有时间,看了些资料,结合自己以前写的代码,在这里做个简单的完整介绍吧.&lt;br /&gt;&lt;br /&gt;基本概念 &lt;br /&gt;&lt;img src =&quot;http://blog.csdn.net/Longer811213/aggbug/2949326.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Fri, 19 Sep 2008 08:18:00 +0800</pubDate><author>Longer811213</author><comments>http://blog.csdn.net/Longer811213/archive/2008/09/19/2949326.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/Longer811213/archive/2008/09/19/2949326.aspx</guid><dc:creator>Longer811213</dc:creator><fs:srclink>http://blog.csdn.net/Longer811213/archive/2008/09/19/2949326.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Longer811213/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Longer811213/~7405727/212080875/5515248</fs:itemid></item><item><title>ASP.NET -- 使用集成Windows身份验证</title><link>http://blog.csdn.net/Longer811213/archive/2008/08/26/2833393.aspx</link><wfw:comment>http://blog.csdn.net/Longer811213/comments/2833393.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/Longer811213/comments/commentRss/2833393.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2833393</trackback:ping><description>在编写一个Web应用程序时，身份认证往往是一个繁琐的工作，特别对一个Intranet的站点，我们只需要他是一个内部用户，就能给他授权的时候，自己编写身份认证实在是没有必要&lt;img src =&quot;http://blog.csdn.net/Longer811213/aggbug/2833393.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Tue, 26 Aug 2008 23:19:00 +0800</pubDate><author>Longer811213</author><comments>http://blog.csdn.net/Longer811213/archive/2008/08/26/2833393.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/Longer811213/archive/2008/08/26/2833393.aspx</guid><dc:creator>Longer811213</dc:creator><fs:srclink>http://blog.csdn.net/Longer811213/archive/2008/08/26/2833393.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Longer811213/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Longer811213/~7405727/212080876/5515248</fs:itemid></item></channel></rss>