摘要:当用户在 Web 应用程序中导航 ASP.NET 页时,ASP.NET 会话状态使您能够存储和检索用户的值。HTTP 是一种无状态协议。这意味着 Web 服务器会将针对页面的每个 HTTP 请求作为独立的请求进行处理。服务器不会保留以前的请求过程中所使用的变量值的任何信息。
ASP.NET 会话状态将来自限定时间范围内的同一浏览器的请求标识为一个会话,当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。Session提供用于在该会话持续期间内保留变量值的方法。默认情况下,将为所有 AS 阅读全文
艾伟_转载:ASP.NET开发中关于Web标准的几点建议
2011-08-29 00:21 by 狼人:-), 106 阅读, 0 推荐, 收藏,
摘要:Visual Studio.NET从2003到现在的2008,一路走来慢慢强大……从以前的vs2003能自动改乱你的html代码到现在在vs2008中都能直接对html代码进行w3c标准验证并提示了,非常不易。 论坛中也经常有从事.NET开发的新手朋友问一些ASP.NET开发过程中与Web标准之间的冲突问题,其实说到底就是客户端代码生成的问题。更高深的开发层面的东西我也说不出来,从页面前端的角度和大家分享一下建议: 少用ASP.NET中的服务器端控件 在Visual Studio中,有一系列强大的控件,让我们的刚开始学习.NET开发人员爱不释手。但vs中的这些控件,大多都是基... 阅读全文
艾伟_转载:ASP.NET中的n种路径
2011-08-29 00:21 by 狼人:-), 172 阅读, 0 推荐, 收藏,
摘要:在web服务器端开发中经常会遇到各种不同形式的path,而且经常记不清楚如何获取到某种特定格式,今天抽了点时间把常用的path获取方法与格式做了一个简单的对照表,以备日后查用。Request获取的信息Request.AppRelativeCurrentExecutionFilePath ~/SysOption/BillingSetup1.aspx Request.ApplicationPath /Request.CurrentExecutionFilePath /SysOption/BillingSetup1.aspx Request.FilePath /SysOption/BillingSe 阅读全文
艾伟_转载:ASP.NET数据缓存之数据缓存浅谈
2011-08-29 00:21 by 狼人:-), 195 阅读, 0 推荐, 收藏,
摘要:ASP.NET数据缓存的学习是如何呢?如何使用ASP.NET数据缓存呢?在讲ASP.NET数据缓存之前还要先说一下如果在页面中使用参数缓存。前面讲过一个缓存设置VaryByParam="none"为无参数,我们也可以对VaryByParam进行设置,设置的参数与随 GET 方法属性发送的查询字符串值对应,或与使用 POST 方法发送的参数对应。将该属性设置为多个参数时,对于每个指定参数组合,输出缓存都包含一个不同版本的请求文档。可能的值包括 none、星号 (*) 以及任何有效的查询字符串或 POST 参数名称。简单点说,就是设置成我们在页面中使用的QueryString名 阅读全文
艾伟_转载:使用AOP动态调用WebService
2011-08-29 00:21 by 狼人:-), 405 阅读, 0 推荐, 收藏,
摘要:在网上搜了一下“动态调用WebService”相信都能搜出上千篇文章,但是都出自同一个版本:使用ServiceDescriptionImporter导入wsdl然后进行动态编译,再调用相应的Method返回值。这种方法不足之处就是编译的时候可能会有些慢,毕竟是编译整个WebService,而且前台都是使用同一个方法传入调用的方法来进行调用的。再者,如果使用了Model,引用了WebService后的Model并非此Model,而且如果是List的话,那更差之千里了,返回的只能是数组。 本人经过思考,用AOP的原理实现了WebService的动态调用,实际上,是调用接口类的方法,然后使用反射.. 阅读全文
艾伟_转载:我对NHibernate的感受(2):何必到处都virtual
2011-08-29 00:21 by 狼人:-), 124 阅读, 0 推荐, 收藏,
摘要:上一篇文章主要是在夸NHibernate实现的好,而这篇就完全是来抱怨的了。NHiberante有个毛病,就是如果是和数据库产生映射的类,就要求所有的public成员和protected成员必须是virtual的。请注意这里的要求有两个细节: 即使是方法,也必须标记为virtual 即时是不和数据库有映射关系的属性,也必须标记为virtual 这就让我觉得无厘头了,为什么没有任何关系的东西也要受到限制?我知道NHiberante要求将属性标记为virtual是为了延迟加载,因为只有这样它才能生成如上一篇文章中那样的延迟代理类,这样就可以实现只在第一次访问属性的时候才进行“加载”... 阅读全文
艾伟_转载:话说并发
2011-08-29 00:21 by 狼人:-), 122 阅读, 0 推荐, 收藏,
摘要:对于很多人来说,并发是一个离不开的话题。那么我们平常对并发的理解可能局限于某个方面。去很好的理解并发,对于软件开发很有帮助。怎样去更好的理解并发? 苹果下落,在我们认识牛顿定律之前。如果问苹果是下落的,我们都会说大家都知道,很清楚,很明白——了解但没引起关注。如果问为什么苹果下落。我们会举出很多相关的概念来说明苹果为什么下落——相似性,但却没有一个很清晰的概念。在万有引力之后,我们的认识已经有一定的高度,甚至对以后很多科技都很有帮助。 所以怎样去理解并发,我们不缺乏经验。那么我们缺乏的就是那么一个高度,可以理解为深度的认识。 可能有人会讲并发作为一种缺陷,一个问题。此时,我将他... 阅读全文
艾伟_转载:WCF基本异常处理模式[上篇]
2011-08-29 00:20 by 狼人:-), 214 阅读, 0 推荐, 收藏,
摘要:由于WCF采用.NET托管语言(C#和NET)作为其主要的编程语言,注定以了基于WCF的编程方式不可能很复杂。同时,WCF设计的一个目的就是提供基于非业务逻辑的通信实现,为编程人员提供一套简单易用的应用编程接口(API)。WCF编程模式的简单性同样体现在异常处理上面,本篇文章的主要目的就是对WCF基于异常处理的编程模式做一个简单的介绍。 一、当异常从服务端抛出 对于一个典型的WCF服务调用,我个人倾向于将潜在抛出的异常费为两种类型:应用异常(Application Exception)和基础结构(Infrastructure Exception)。前者为应用级别,主要体现为执行某... 阅读全文
艾伟_转载:[你必须知道的.NET】object成员,不见了!
2011-08-29 00:20 by 狼人:-), 183 阅读, 0 推荐, 收藏,
摘要:在.NET世界了,object是公认的造物主,其麾下的7大成员,个顶个的横行在任何系统的任何代码角落。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public class Object{ public Object(); public virtual bool Equals(object obj); public static bool Equals(object objA, object objB); publ... 阅读全文
艾伟_转载:WCF基本异常处理模式[下篇]
2011-08-29 00:20 by 狼人:-), 209 阅读, 0 推荐, 收藏,
摘要:从FaultContractAttribute的定义我们可以看出,该特性可以在同一个目标对象上面多次应用(AllowMultiple = true)。这也很好理解:对于同一个服务操作,可能具有不同的异常场景,在不同的情况下,需要抛出不同的异常。 1: [AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = false)] 2: public sealed class FaultContractAttribute : Attribute 3: { 4: ... 阅读全文
艾伟_转载:二十行C#代码打造Ruby Markup Builder
2011-08-29 00:20 by 狼人:-), 175 阅读, 0 推荐, 收藏,
摘要:从.NET诞生之日起就有了XML类库,但是从使用上来说非常不方便。例如我们需要构造一个XML文档时,使用DOM API就要这样搞:
var xmlDoc = new XmlDocument();
var rootEle = xmlDoc.CreateElement("persons");
xmlDoc.AppendChild(rootEle);
var person1 = xmlDoc.CreateElement("person");
person1.InnerText = "Tom";
var person1Age = xmlDoc 阅读全文
艾伟_转载:.NET委托:一个C#睡前故事
2011-08-29 00:20 by 狼人:-), 206 阅读, 0 推荐, 收藏,
摘要:英文版原作者:Chris Sells(www.sellsbrothers.com) 翻译:袁晓辉(www.farproc.com http://blog.csdn.net/uoyevoli) 原文地址: http://dev.csdn.net/article/82/82644.shtm 紧耦合 从前,在南方一块奇异的土地上,有个工人名叫彼得,他非常勤奋,对他的老板总是百依百顺。但是他的老板是个吝啬的人,从不信任别人,坚决要求随时知道彼得的工作进度,以防止他偷懒。但是彼得又不想让老板呆在他的办公室里站在背后盯着他,于是就对老板做出承诺:无论何时,只要我的工作取得了一点... 阅读全文
艾伟_转载:MVC和MVP的一些思考
2011-08-29 00:20 by 狼人:-), 155 阅读, 0 推荐, 收藏,
摘要:这篇文章是我近期对MVC和MVP的一些思考,在使用MVC/MVP模式的过程中曾经走过一些弯路。呵呵,现在虽然改正了某些弯路,但不保证改正了所有的弯路(例如对渲染的理解),所以请阅读这篇文章的朋友不吝发挥你们的质疑。 写这篇文章也是想知道自己还有什么地方是错的,我的最终方案是否可行? 有交流才会有进步。你有一个苹果,我有一个苹果,我们交换后仍各有一个苹果,你有一个思想,我有一个思想,我们交换后......会有N个思想 :p 1. MVC的理解误区 以下是我以前对MVC模式的理解误区: 1. 认为Model是指失血模型的实体类(Entity),是作为View和Controller之间... 阅读全文
艾伟_转载:WCF基本异常处理模式[中篇]
2011-08-29 00:20 by 狼人:-), 153 阅读, 0 推荐, 收藏,
摘要:通过WCF基本的异常处理模式[上篇], 我们知道了:在默认的情况下,服务端在执行某个服务操作时抛出的异常(在这里指非FaultException异常),其相关的错误信息仅仅限于服务端可见,并不会被WCF传递到客户端;如果将开启了IncludeExceptionDetailInFaults的ServiceDebug服务行为通过声明(通过在服务类型上应用ServiceBehaviorAttrite特性)或者配置的方式应用到相应的服务上,异常相关的所有细节信息将会原封不动地向客户端传送。 这两种方式体现了两种极端的异常传播(Exception Propagation)机制,对于基于服务操作... 阅读全文
艾伟_转载:TreeView节点定位的另外一种方法TreeNode.FromHandle
2011-08-29 00:20 by 狼人:-), 203 阅读, 0 推荐, 收藏,
摘要:Winform 里面的TreeView是一种常见的、功能强大的控件,一般的使用大家可能都是比较熟悉的了,估计我们大多数做定位节点的时候,一般都是采用循环查找的方法。如下面的方法所示 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> foreach (TreeNode node in this.TreeView1.Nodes) { if (node.Text == "要找的节点名称") { return node... 阅读全文
浙公网安备 33010602011771号