代码改变世界

随笔分类 -  [01].NET技术

一起谈.NET技术,C# 基础概念之延迟加载

2011-09-01 23:57 by 狼人:-), 177 阅读, 收藏,
摘要: 延迟加载,亦称延迟实例化,延迟初始化等,主要表达的思想是,把对象的创建将会延迟到使用时创建,而不是在对象实例化时创建对象,即用时才加载。这种方式有助于提高于应用程序的性能,避免浪费计算,节省内存的使用等。针对于这种做法,似乎称之为即用即创建更为合适些。 先来看一下在Framework4.0中如何实现延迟加载。 Framework4.0提供了一个包装类Lazy<T>,可以轻松的实现延迟加载。 ///这行代码表明:要创建一个延迟加载的字符串对象s///原型为Lazy<T> 对象名=new Lazy<T>(Fun<T>)///采用泛型委托进行构造,实例 阅读全文

一起谈.NET技术,.NET简谈委托链

2011-09-01 23:57 by 狼人:-), 187 阅读, 收藏,
摘要: 说起链表大家都很熟悉,说起委托相信大部分的.NET程序员都也很了解。在平时的开发过程中经常会用到这两种技术,只不过链表在.NET里面已经被封装了,让我们用起来更加的方便就是集合类型Collection。在某些时候我们有必要要了解这些方便而又快捷的背后是怎样封装的,委托是一种特殊的类型,在.NET里面是用来作为方法的一种封装。在一些非托管的代码中如C++就没有这么幸运了,我们要面对是一些复杂的地址变换、链表的指针维护、内存的取址等等。微软一向都是人性化模仿的对象,不管是他的操作系统还是开发平台IDE做的都很舒服。可能有的人会说把程序员这么崇高而又神秘的职业该大众化了,是人都会写程序。这种问题.. 阅读全文

一起谈.NET技术,Silverlight 应用整合

2011-09-01 23:57 by 狼人:-), 243 阅读, 收藏,
摘要: Silverlight与企业信息化 在企业应用系统中,企业客户不在满足于呆板的Portal、树形结构、数据堆积的表格和满屏的文字描述。企业客户越来越倡导用户体验,Silverlight迎合了这种需求,实现了炫目的体验和丰富交互的应用,更重要的是Silverlight更适合企业应用系统的开发,依靠.Net平台,使用C#高级语言代替JavaScript脚本语言,实现了强大的客户端计算能力、支持多线程,丰富的控件、特效与动画,更可控的浏览器适应性,更安全的沙箱模式,客户端嵌入式数据库等。 现在企业应用开发有两大阵营,一个是Java,另一个是.NET平台,难道Silverlight只能服务... 阅读全文

一起谈.NET技术,asp.net控件开发基础(6)

2011-09-01 23:48 by 狼人:-), 275 阅读, 收藏,
摘要: 位于WebControls命名空间的style类为顶级样式类.大部分标准控件都拥有其样式属性。 1.下面为设置样式方法 (1)你可以直接设置控件样式 Button1.BackColor=System.Drawing.Color.Red; (2)通过获取web控件的样式集合来设置 Button1.ControlStyle.BackColor=System.Drawing.Color.Red; (3)通过设置样式类,利用WebControl类的ApplyStyle方法来复制非空样式,并改写现有样式 myStyle.BackColor=System.Drawing.Color.Red... 阅读全文

一起谈.NET技术,asp.net控件开发基础(5)

2011-09-01 23:48 by 狼人:-), 129 阅读, 收藏,
摘要: 我们根据属性的不同表现形式,把其区分为简单属性和复杂属性,下面来看下属性的表现形式。简单属性表现形式如下,大家都很熟悉 <asp:TextBoxID="TextBox1"Text="textbox控件"runat="server"></asp:TextBox> 属性中含有子属性,称之为复杂对象,如Font属性,复杂属性的表现形式如下: (1)连字符的表现形式 <asp:TextBoxID="TextBox1"Text="textbox控件"runat="s 阅读全文

一起谈.NET技术,asp.net控件开发基础(4)

2011-09-01 23:48 by 狼人:-), 158 阅读, 收藏,
摘要: 一.从继承WebControl开始 在第二篇教程中,重点介绍了Render()方法的使用,用来呈现控件,但从Control类继承的控件尚未发挥asp.net控件的作用.大家知道web服务器控件分为HTML服务器控件(如<input id="Button2" runat="server" type="button" value="button" />这样的形式)和标准服务器控件(就是<asp:.. id="" runat="server"/>这样的形式的 阅读全文

一起谈.NET技术,asp.net控件开发基础(3)

2011-09-01 23:48 by 狼人:-), 226 阅读, 收藏,
摘要: 本次来介绍控件的事件处理. 我们知道Button控件有OnClick事件,DropDownList控件有SelectedIndexChanged事件. 一.回发事件和客户端回发 下面来看一个最简单的例子,按钮单击事件 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->protected void Button1_Click(object sender, EventArgs e)2 {3 Label1.Text = "... 阅读全文

一起谈.NET技术,探索Asp.net mvc 的文件上传(由浅入深)

2011-09-01 23:47 by 狼人:-), 1166 阅读, 收藏,
摘要: 代码下载:http://files.cnblogs.com/n-pei/mvcfileupload.zip 最近因为TeamVideo需要用到视频和图片上传功能,所以试着Google了很多资料,和大家分享下。 1.最基本的文件上传 在View界面通过Form把数据POST到控制端(Controller),Controller把文件存储到服务器,再Redirect到其他页面。 View部分的代码: Controller部分需要判断是否有Post过来文件,有文件就保存,再重定向到index页面。 上面的例子是最简单的,下一步我们考虑给它加上一个jQu... 阅读全文

一起谈.NET技术,Powershell简介及其编程访问

2011-09-01 23:47 by 狼人:-), 276 阅读, 收藏,
摘要: 这个工具可以单独使用,完全可以取代cmd.exe。例如如下: 但它的功能远不止于此,例如我们可以很容易地获取所有的进程名称: 再来看一个,下面这个例子是获取当前正在运行的服务列表。(可以用条件很方便地筛选): 除此之外,Powershell还支持定制,例如微软很多产品都提供了专门的Powershell插件(典型的有:SQL Server,SharePoint Server, Exchange Server等)。通过这些特殊的外壳,可以实现对服务器的管理。功能非常强大。例如下面的SQLPS,可以像查看文件夹那样查看数据库: 再例如下图的EMS(Exchange Managme... 阅读全文

一起谈.NET技术,盘点ASP.NET Ajax工具箱的10大顶级控件

2011-09-01 23:47 by 狼人:-), 304 阅读, 收藏,
摘要: 默认情况下,.NET Framework仅自带了最基本的Ajax控件,如UpdatePanel,UpdateProgress等,如果你想让现有ASP.NET应用程序Ajax化,最简单的方法就是利用Ajax控件工具箱中的扩展控件,但Visual Studio默认并没有附带Ajax工具箱,你需要从这里下载,将其添加到Visual Studio工具箱中之后就可以在ASP.NET应用程序中使用了,注意,本文是针对.NET Framework 3.5而非4.0的。 1、自动完成扩展(AutoComplete) 这是我最喜欢的一个ASP.NET TextBox控件的扩展控件,当用户在文本框中... 阅读全文

一起谈.NET技术,ASP.NET4灵活显标记:数据Web控件改进

2011-09-01 23:47 by 狼人:-), 177 阅读, 收藏,
摘要: 长期以来,使用Web控件的开发者都欣赏这些控件所具有的高生产力,但在控制它们生成的标记方面却付出了一定的代价。例如,许多ASP.NET控件会自动地使用元素来包装它们的内容,原因是为了方便布局或样式控制。然而,这种行为却与过去几年中不断发展的网络标准相违背;这些标准支持使用更清洁和更简洁的HTML标记,而建议节约使用标记;同时,它们提倡应当尽可能使用层叠样式表(CSS)来实现网页的布局和造型。此外,元素和其他自动添加的内容使得使用CSS来修饰Web控件和从客户端使用这些控件更加困难。 ASP.NET 4.0版本的目的之一就是让Web窗体开发人员更好地控制由Web控件呈现的标记。为此,A... 阅读全文

一起谈.NET技术,用c#实现Protocol Buffers的变长字节整形编码

2011-09-01 23:47 by 狼人:-), 345 阅读, 收藏,
摘要: 摘要 int在.net里固定占4个字节,如果我们存储和传输大量的int数据,并且大部分数的值比较小,我们就会浪费很多的网络流量和磁盘存储。Protocol Buffers对整数的编码是让值小的数占少量几个的字节,值大的数占多个字节。 编码算法 首先看如下链接,了解Protocol Buffers对整形的编码算法。http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/encoding.html 它举了个对300的编码,编码后是两个字节: Code highlighting produced by Actipr... 阅读全文

一起谈.NET技术,一个Silverlight的网页访问计数器

2011-09-01 23:47 by 狼人:-), 180 阅读, 收藏,
摘要: 大家知道,SharePoint 2010支持客户端的对象模型访问,主要有三种方式: 1..net 的客户端对象模型,2.Javascript 的客户端对象模型 3.Silverlight的客户端对象模型,这里就简单实现一个Silverlight的网页计数器,来达到熟悉客户端对象模型的目的。 其实这个简单的访问计数器主要就是统计了页面刷新了多少次,逻辑很简单,当页面被load的时候,就将次数+1,将次数和页面的地址作为一个Item存放在一个SharePoint list中。下面介绍具体的步骤: 1、准备工作:在SharePoint 2010的某一个site下创建用来存放访问次数和... 阅读全文

一起谈.NET技术,asp.net利用log4net写入日志到SqlServer数据库

2011-09-01 23:47 by 狼人:-), 275 阅读, 收藏,
摘要: asp.net利用log4net写入日志到SqlServer数据库,Log4net是一个开源的错误日志记录项目,易用性强,源自log4j,品质值得信赖。 下面就我的安装部署log4net到MS sql server的经验与大家分享。 下载log4net的Dll文件并引入到项目中,在你的web主项目(比如MainWeb.csproj)添加对log4net.dll的引用,并在相应的Globall.cs文件中的Application_Start 事件中写入 protected void Application_Start(Object sender, EventArgs e) ... 阅读全文

一起谈.NET技术,浅谈思路严谨的用户在线状态控制【附部分C#参考代码】

2011-09-01 23:47 by 狼人:-), 295 阅读, 收藏,
摘要: 我们经常会遇到: 1:客户购买了5个用户的许可,10个用户的许可,软件需要限制用户的并发数量,我知道就是Oracle的并发用户达到20个以上,那费用是非常昂贵的。 2:一个用户只能登录一次或者是一个账号在同一时间只能登录一个,若已经是登录了就不让再登录了,需要能控制用户的并发登录问题。 3:有的系统也需要能实现在线用户列表、用户的登录状态等,特别是即时消息功能的内部管理系统等。 先把自己的思路整理图贴出来如下: C/S的部分参考代码如下:这里为了实现定时获取消息的平滑,利用了线程的方式,这样不影响用户的操作,是多线程实现定时获取消息的。 Code highlight... 阅读全文

一起谈.NET技术,Silverlight 4中把DataGrid数据导出Excel—附源码下载

2011-09-01 23:47 by 狼人:-), 284 阅读, 收藏,
摘要: Silverlight中常常用到DataGrid来展示密集数据. 而常见应用系统中我们需要把这些数据导入导出到固定Office套件中例如常用的Excel表格. 那么在Silverlight 中如何加以实现? 在参考大量资料后 提供参考思路如下: A:纯客户端导出处理.利用Silverlight 与Javascript 进行交互实现导出Excel。 B:服务器端导出.获得DataGrid数据源. 传递给WCF Service到服务器端. 然后把传回数据通过Asp.net中通用处理导出Excel方法加以实现。 方法A实现导入导出核心在JS脚本中. 属于纯客户端交互. 简洁实用.... 阅读全文

一起谈.NET技术,谈谈我处理异常的一般方法

2011-09-01 23:47 by 狼人:-), 189 阅读, 收藏,
摘要: 我们在编写程序的时候会遇到各种各样的意外情况,如除数为0,数组越界,非法转型,栈溢出等等。因而我们需要有一种机制来处理这些情况,异常处理就是其中的一种机制。当然,还有其他的机制,在MFC中,由于标准的不统一,就存在着各种错误报告方法,如有通过函数返回特殊值的方式,有通过执行某一语句后查询特殊语句获取错误的码的方式,等等。 在C#中,只有一种报告方式,即异常。这样可以让开发人员从大量的文档中解脱出来,不必为一些非逻辑的问题而花费大量时间。 C#中的异常不同于C++,所有的异常类型都是继承自System.Exception的,因此我们定义自己的异常类型时,都要继承自System.Exc... 阅读全文

一起谈.NET技术,WF4.0进行单元测试

2011-09-01 23:47 by 狼人:-), 295 阅读, 收藏,
摘要: 1、简单的WF4.0活动测试 如果是一个简单的WF4.0活动,是那种没有带BookMark,也不是messaging活动,也不是长时间运行的活动。使用WorkflowInvoker进行单元测试将非常的方便。 下面,我们以一种情况为例子:流程中只包含了两个加数相加的操作,然后就将结果返回。流程如下图所示: 最简单的方法是通过Workflow Invoker进行测试。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->[TestMet... 阅读全文

一起谈.NET技术,技术详解:三招优化.NET中的锁(组团)

2011-09-01 23:47 by 狼人:-), 256 阅读, 收藏,
摘要: 在这篇文章中,我将使用三个方法处理乐观锁,包括ADO.NET数据集、SQL Server时间戳数据类型和新旧值检查,首先我们从并发谈起,探讨5个并发问题,然后从实际出发,利用这三种方法实现乐观锁。 为什么需要锁? 在多用户环境中,大家同时更新相同的记录可能会引发冲突,这个问题用专业的术语描述就叫做并发性。并发会造成什么样的冲突?并发主要会导致四种常见的问题,详细情况请看下表。 如何解决上述冲突? 答案是使用乐观锁或悲观锁,下面将进一步进行阐述。什么是乐观锁?顾名思义,乐观锁假设多个事务相互不会影响对方,换句话说就是,在乐观锁模式下,没有锁操作会得到执行,事务只是验证是否有其它事... 阅读全文

一起谈.NET技术,ASP.NET MVC Membership 权限 漫谈

2011-09-01 23:47 by 狼人:-), 365 阅读, 收藏,
摘要: 以前一位同事习惯于使用Membership来进行权限管理,现在随着ASP.NET MVC的引入,采用以前的方法,提出了以下方案: ASP.NET MVC+Membership结合,通过在web.config中进行配置,来管理系统中的权限。 于是,我对这个方案的可行性进行了分析,提出了以下疑点: 在ASP.NET 2.0的Membership中, 在Web.config中是通过物理文件和目录,那么在ASP.NET MVC中,如果在URL中直接输入物理文件和目录,是找不到这个文件的,不知道这种方式还能不能奏效。如果说不管在mvc中,通过URL Routing怎么绕,最终都会定位到物... 阅读全文
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 56 下一页