摘要:
前言 很喜欢一种人,他们可以把一种技术分析得很透彻,由浅入深,深入浅出,不管你是初学者还是资深人士,看上去都会感觉非常舒服。 但是有时候,试图去描述一个技术点是很困难的事情。 开始,你觉得这个技术很有价值,你通过自己花了一定时间去学习,想要把自己的理解与心得分享,于是就打算写一篇随笔;可是当你开笔之后,突然发现描述起来很困难,虽然在你心中那个概念已经很简单了,但是却要用很多文字来描述,而且不同的技术可能有不同的“上下文”,每个人可能也有不同的“上下文”,在写了几个字之后你有点想放弃了;可是最后又不甘心,聪明的你灵机一动,做了一个Demo,大概对着图片描述一下,然后发布,让读者自... 阅读全文
随笔分类 - [01].NET技术
一起谈.NET技术,IoC+AOP的简单实现
2011-09-01 23:45 by 狼人:-), 761 阅读, 收藏,
摘要:
对EnterLib有所了解的人应该知道,其中有一个名叫Policy Injection的AOP框架;而整个EnterLib完全建立在另一个叫作Unity的底层框架之上,我们可以将Unity看成是一个IoC的框架。对于一个企业应用来说说,AOP和IoC是我们进行逻辑分离和降低耦合度最主要的方式,而将两者结合起来具有重要的现实意义。 一、基于IoC+AOP的编程 到底将IoC和AOP进行整合后,会对编程但来怎样的影响,我写了一个简单的例子(你可以从这里下载该实例)。假设我现在有两个模块,分别称为Foo和Bar,通过如下同名的类来表示。Foo和Bar具有各自的接口,分别为IFoo和IBa... 阅读全文
一起谈.NET技术,ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline[下篇]
2011-09-01 23:45 by 狼人:-), 176 阅读, 收藏,
摘要:
ASP.NET Process Model索引 ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI
ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline[上篇]
ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline[下篇] 二、ASP.NET Runtime Pipeline 现在我们真正进入ASP.NET管辖的范畴,下图基本上囊括整个处理过程涉及的对象,接下来我们一起来讨论这一系列的对象如何相互协作去处理Http Request,并最... 阅读全文
一起谈.NET技术,C# 委托知识总结
2011-09-01 23:45 by 狼人:-), 171 阅读, 收藏,
摘要:
1.什么是委托,为什么要使用委托 我正在埋头苦写程序,突然想喝水,但是又不想自己去掉杯水而打断自己的思路,于是我就想让女朋友去给我倒水。她去给我倒水,首先我得让她知道我想让她干什么,通知她之后我可以继续写自己的程序,而倒水的工作就交给了她。这样的过程就相当于一个委托。 在程序过程中,当程序正在处理某个事件的时候,我需要另外的程序代码去辅助处理一些事情,于是委托另一个程序模块去处理,而委托就可以达到这种目的,我可以利用委托通知另外的程序模块,该去调用哪个函数方法。委托其实就起到了这样一个作用,将函数签名传递到了另一个函数中。或许这样讲还是有些模糊,看看后面的具体实例。 2.委... 阅读全文
一起谈.NET技术,概括ADO.NET数据库连接的所有形式(基础)
2011-09-01 23:45 by 狼人:-), 202 阅读, 收藏,
摘要:
你可能熟悉其中部分数据库读取的形式,但是熟悉全部的估计很少,或者你完全忘记了,因为这些形式被封装到你自己框架的底层,自己搞过一两次就在也没有动手写过了。但是笔者觉得这部分知识是应该牢固掌握的,这个是基础。
第一种:通过直接在cs文件中编写查询语句调用dbcom.ExecuteNonQuery();执行插入数据 1 //连接字符串 2 string ConnectionString = ConfigurationManager.ConnectionStrings["db_Test01ConnectionString"].ConnectionString; 3 string P 阅读全文
一起谈.NET技术,使用 Silverlight Media Framework 构建自定义播放器
2011-09-01 23:45 by 狼人:-), 262 阅读, 收藏,
摘要:
流媒体已在网络上无处不在。似乎所有人(从新闻站点到社交网络再到隔壁的邻居)都在享受在线视频体验。由于用户群的不断攀升,大多数站点需要以一种值得信赖、用户友好的方式为其客户提供高品质视频,通常为高品质带宽感知 视频。 在线媒体传输体验的核心要素是播放器本身。播放器是用户与之发生交互的介质,它可以驱使用户获得在线体验的每一个要素。播放器如此备受关注,毫无疑问,基于 Web 的现代媒体播放器在实现时势必要比几年前的老款播放器复杂得多。因此,开发人员需要一个稳健的框架来构建播放器。 Silverlight Media Framework (SMF)是一个开源项目,由 Microsoft 在 20... 阅读全文
一起谈.NET技术,保护您的 Silverlight 应用程序的安全
2011-09-01 23:45 by 狼人:-), 168 阅读, 收藏,
摘要:
作为一名 Microsoft 服务顾问,我定期与客户和合作伙伴一起进行应用程序安全性讨论。 在本文中,我将介绍一些在这些讨论中提出的主题。 特别是,我将重点介绍编程人员在尝试保护 Silverlight 应用程序的安全时所面临的新挑战,而且我将考虑开发团队应该将其资源集中于哪些方面。 本文提到了许多技术概念,您可以在其他位置(包括本杂志)找到这些概念的更多详细信息。 因此,我就不在技术层面更加深入地讨论这些主题。 本文的目标是“理清头绪”并介绍如何利用这些概念保护您的应用程序的安全。 当规划应用程序的安全性时,考虑三个 A 非常有用:身份验证 (Authentication)、授权 (... 阅读全文
一起谈.NET技术,Entity Framework 缓存处理与日志监控
2011-09-01 23:45 by 狼人:-), 448 阅读, 收藏,
摘要:
在Kooboo中使用了Entity Framework作为持久化框架,但由于EF1.0并没有提供完整缓存解决方案,一直以来都在为数据缓存而烦脑,在没有找到合适解决方案的情况下,采取了临时的解决办法:直接缓存实体。但是由于Entity实体都是带状态的,并且都与ObjectContext有间接的反向引用,缓存带状态的实体,会造成对象上下文混乱和连接资源的无法被正确释放。因此缓存的Entity实体,首先必须被分离或者重新定义POCO实体来代替Entity实体作为缓存对象。这样一来,所有的缓存实体的关联关系都会失效,造成使用上的麻烦和整个软件框架存在严重的不足。 再说说EF的SQL日志问题。在... 阅读全文
一起谈.NET技术,Sql Server性能优化——Partition(管理分区)
2011-09-01 23:45 by 狼人:-), 263 阅读, 收藏,
摘要:
在企业管理器中,虽然有“管理分区”的菜单,里面的内容却可能与你的预想不同,这里并没有提供直接对分区进行操作的方法,所以一些普通的操作,比如“增加分区”、“删除分区”之类的操作就需要通过脚本实现了。 增加分区(Split Partition) “增加分区”事实上就是将现有的分区分割开,基于此,在SQL Server中应用的是Split操作。在分离分区的时候,不仅仅要在Partition Function上指定分割的分界点,同样需要在Partition Scheme上指定新分区应用的文件组:
--指定下一个分区应用文件组PRIMARYALTER PARTITION SCHEME [My... 阅读全文
一起谈.NET技术,Visual Studio自定义调试窗体两个小技巧
2011-09-01 23:45 by 狼人:-), 169 阅读, 收藏,
摘要:
本文翻译:Few Tips on Customizing Debugging Window View in Visual Studio 。 使用DebuggerBrowsable特性可以自定义调试窗体。 使用DebuggerDisplay特性可以自定义调试信息的显示。 要使用这些特性,需要引用System.Diagnostics命名空间。 技巧1、使用DebuggerBrowsable特性 你可以通过在属性上使用DebuggerBrowsable特性来自定义调试窗体。这些特性可以用任何属性、字段和索引上。DebuggerBrowsable的构造函数需要一个Deb... 阅读全文
一起谈.NET技术,Silverlight 自定义控件模板管理
2011-09-01 23:45 by 狼人:-), 272 阅读, 收藏,
摘要:
在 Silverlight 里面建自定义控件(Templated Control),会在工程下生成一个Themes文件夹,并在其中包含一个generic.xaml 文件。这是一个 ResourceDictionary 文件,所有的自定义控件的默认样式(Default Style)都必须放在这里。 最原始的办法就是把所有样式都直接写在 generic.xaml 文件里,但如果自定义控件足够多,generic.xaml 达到了好几千行,管理起来当然十分麻烦。后来在同事的推荐下,搞到两种方法可以将各自定义控件的样式分开管理,总算解决了这一令人头疼的问题。 MergeDefaultStyl... 阅读全文
一起谈.NET技术,SilverLight自动安装
2011-09-01 23:45 by 狼人:-), 196 阅读, 收藏,
摘要:
1、 准备js,参考了一个js弹出层的例子。最后自动输出exe,类似flash安装。ie可以自动安装,其他浏览器需要手动下载安装包。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> var isOK = Silverlight.isInstalled("4.0.50524.0"); if (!isOK) { var msgw, msgh, bordercolor; msgw = 450; //提示窗口的宽度 msgh.. 阅读全文
一起谈.NET技术,.NET多线程的探讨
2011-09-01 23:45 by 狼人:-), 180 阅读, 收藏,
摘要:
本文开始总结.NET下的多种多线程机制,不断更新中,往各位补充。
Invoke机制 最近在实验一个webservice时候,想到了要用异步机制,于是好好研究了一下多线程和Invoke机制,这里写点小小的心得,如有不妥,请各位指教。 我们往往会遇到这样的需求:有一个十分耗时间的工作(比如一个WebSerive的请求),我们不希望它阻塞现有的UI线程(因为这样会导致界面假死),而是希望它在另外一个线程里面执行,并在执行完毕之后将结果“通知”UI线程。这个需求需要通过Invoke和委托机制实现。 参考资料:
http://www.cnblogs.com/c2303191/ar... 阅读全文
一起谈.NET技术,SilverLight调用WebService的方法
2011-09-01 23:45 by 狼人:-), 180 阅读, 收藏,
摘要:
在我们添加Service Reference的时候,可能不知道该服务最终会被部署到什么位置,或者该服务可能被迁移,此时我们可以使用以下手段进行Service的调用,提高代码编写的灵活性。 步骤1:修改宿主Web页面的代码,将服务地址以初始化参数方式传入。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><formid="form1"runat="server"style="height: 阅读全文
一起谈.NET技术,ASP.NET MVC Routing概述
2011-09-01 23:45 by 狼人:-), 162 阅读, 收藏,
摘要:
ASP.NET Routing模块的责任是将传入的浏览器请求映射为特有的MVC controller actions。 使用默认的Route Table 当你创建一个新的ASP.NET MVC应用程序,这个应用程序已经被配置用来使用ASP.NET Routing。 ASP.NET Routing 在2个地方设置。第一个,ASP.NET Routing 在你的应用程序中的Web配置文件(Web.config文件)是有效的。在配置文件中有4个与routing相关的代码片段:system.web.httpModules代码段,system.web.httpHandlers 代码段,syste... 阅读全文
一起谈.NET技术,C# VS Java
2011-09-01 23:45 by 狼人:-), 213 阅读, 收藏,
摘要:
一、C#、C++和Java C#的语言规范由Microsoft的Anders Hejlsberg与Scott Wiltamuth编写。在当前Microsoft天花乱坠的宣传中,对C#和C++、Java作一番比较总是很有趣的。考虑到当前IT媒体的舆论倾向,如果你早就知道C#更接近Java而不是C++,事情也不值得大惊小怪。显然,结论应该是:Java和C#虽然不是孪生子,但C#最主要的特色却更接近Java而不是C++。 表1:比较C#、C++和Java最重要的功能 功能
C#
C++
Java 继承
允许继承单个类,允许实现多个接口
允许从多个类继承
允许继承单个类,允许实现... 阅读全文
一起谈.NET技术,C#中int和System.Int32理解总结
2011-09-01 23:45 by 狼人:-), 233 阅读, 收藏,
摘要:
最近园里的TeamOne写了一篇《[C#] int与System.Int32有什么区别》,发现里面有不少精彩的评论,所以忍不住想这篇文章总结一下:
本文的主要参考资料: 1.《理解C#中的System.Int32和int:并非鸡和鸡蛋》@Author:Dixin 2.《[C#] int与System.Int32有什么区别》@Author:TeamOne 一.问题的来源 MSDN说,int只不过是System.Int32的别名而已,也就是说: Code highlighting produced by Actipro CodeHighlighter (freeware)htt... 阅读全文
一起谈.NET技术,对.net事件的看法
2011-09-01 23:45 by 狼人:-), 160 阅读, 收藏,
摘要:
一、事件的本质
事件是软件系统里的两个子系统之间,或者两个模块之间,或者两个对象之间发送消息,并处理消息的过程。在面向对象的世界里,就可以统一认为是两个对象之间的行为。
两个对象之间发送的这种消息,对发送方来讲是产生一个事件,对接受方来讲是需要处理某个事件。这种消息可以是用户操作产生的或者软件系统里的某个对象产生的。 对象之间的事件处理 从上图可见,对象一产生一个事件,这个事件发生以后需要对象二执行某种动作。这就是事件机制。对象一是事件的产生者,或者发送者;对象二是事件的接收者或者订阅者。对象一产生某种消息,需要对象二响应并处理这给消息,这就是事件的本质。
以往的很多软件系统都在采用事件... 阅读全文
一起谈.NET技术,将ASP.NET MVC 2.0 部署在IIS6和IIS7上的教程
2011-09-01 23:45 by 狼人:-), 162 阅读, 收藏,
摘要:
开发环境:Win7+IIS7+VS2008 SP1+ASP.NET MVC 2.0 RC 在部署MVC应用之前,一定要确保你的程序BIN文件夹下面是否包含 System.Web.Mvc.dll(非常重要),如图: 如果没有, 请在你的MVC项目中,打开引用列表,如图: 鼠标右键点击System.Web.Mvc,选择“属性”,转到下面窗口: 将“复制本地”设为True (默认为False),然后生成一下项目,System.Web.Mvc.dll就会出现在BIN文件夹下了。 先讲最容易部署的IIS7环境: 我的是Win7系统,在Win7是集成了IIS7版本的,在W... 阅读全文
一起谈.NET技术,Silverlight中自定义控件
2011-09-01 23:45 by 狼人:-), 171 阅读, 收藏,
摘要:
自定义控件并不是一项多么难的技术,关于自定义控件这部分有不少文章讲的很透彻,这里我主要把自己练习自定义控件的过程记录下来。 这里我以自定义控件BusyPointer为例,首先我们新建一个应用程序,命名为CustomControl,这里我们将自定义控件放入单独的项目中,所以在解决方案里添加一个Silverlight Class Library项目,命名为BusyPointer,现在我们把Class1.cs类删除,然后在BusyPointer项目中添加一个Silverlight Template Control,我们为之命名为BusyPoint,这时架构如下图所示,项目中增加了一个类文件,... 阅读全文
浙公网安备 33010602011771号