摘要:
这是一篇关于伪原创写作的帖子,写这个并不是鼓励大家去抄改编,只是教大家如何利用别人的资源,以掘取到更多的资源。在网络中,最重要的部分无疑是内容,网站只是一种内容的体现。内容为王总是对的。但这不是说你能写出原创的内容,就能在网络上称王称霸了。对于目前的网络来说,内容不是稀缺而是过剩。内容为王的核心应该是:把最适当的内容提供给尽可能多的需求这种内容的人,你就是真正的赢家。关于伪原创也不想多谈些什么,必竟不是自己的原创。必竟伪不是主流,而我却在为伪创作写文章,所以如果您对于本文有任何疑义的话,请不要读下去了。因为有时候伪到一定程序便是真了。现在就说下原创之“精华”伪原创,做原创需要时间和精力的投入, 阅读全文
随笔档案-2011年08月
某知名电商网站营销总监教你如何做[伪原创]内容,搞网络推广的必看!!!
2011-08-30 17:19 by 狼人:-), 490 阅读, 收藏, 编辑
摘要:
这是一篇关于伪原创写作的帖子,写这个并不是鼓励大家去抄改编,只是教大家如何利用别人的资源,以掘取到更多的资源。在网络中,最重要的部分无疑是内容,网站只是一种内容的体现。内容为王总是对的。但这不是说你能写出原创的内容,就能在网络上称王称霸了。对于目前的网络来说,内容不是稀缺而是过剩。内容为王的核心应该是:把最适当的内容提供给尽可能多的需求这种内容的人,你就是真正的赢家。关于伪原创也不想多谈些什么,必竟不是自己的原创。必竟伪不是主流,而我却在为伪创作写文章,所以如果您对于本文有任何疑义的话,请不要读下去了。因为有时候伪到一定程序便是真了。现在就说下原创之“精华”伪原创,做原创需要时间和精力的投入, 阅读全文
一起谈.NET技术,详解ASP.NET MVC数据分页
2011-08-29 19:31 by 狼人:-), 341 阅读, 收藏, 编辑
摘要:
ASP.NET MVC框架已经进入2.0时代,本文将从ASP.NET MVC数据分页谈起,希望能对大家有所帮助。
在网页上进行表格资料或其他显示资料的分页是一种十分常见的需求,以前我们有 GridView 或 DataPager 可以帮我们自动分页,虽然到了 ASP.NET MVC 一切全部重头来过,但我们也不用真的那麽辛苦的自己实做分页,因为早就有人帮我们写好程式并开放原始码分享给这个世界了。
如果你已经体会到在 ASP.NET MVC 中妥善利用强型别(Strong Typed)特性进行开发的优点时,你将会发现搭配 Visual Studio 2008 进行专桉开发的过程有多美妙。以下我先 阅读全文
一起谈.NET技术,Visual Studio 2010 RC 几个很酷的新功能
2011-08-29 19:31 by 狼人:-), 153 阅读, 收藏, 编辑
摘要:
我一直在使用Visual Studio 2010RC版本。它有很多让人欣喜的东西。下面将其列举出来:
Sequence Diagram Generation 我觉得这是一个救星。我不知道你是怎么样的,但作为开发人员,我在完成设计之后,就想潜心投入代码中。通常在开始编码之前,有时候我想要看序列图。现在,有了Visual Studio 2010序列图生成器,我可以简单地编写代码,然后生成。这不仅为您节省时间,而且让你更好地去理解可导致代码的复杂的一些分支。 以下是我在这篇文章中要使用的代码: Code highlighting produced by Actipro CodeHighli... 阅读全文
一起谈.NET技术,.NET开发者常会忽略的几个错误
2011-08-29 19:31 by 狼人:-), 265 阅读, 收藏, 编辑
摘要:
在运用Visiol studio.NET 开发Web应用程式中,开发者常常会遇到一些问题:如我开发好的程式,在开发环境下测试没问题,怎么一搬到应用环境下,就会有问题?不是程式的无法运行,就是程式的效率慢的同蜗牛在爬,这种情况在.NET的新手中尤其常见。我不知道为什么,一些介绍.NET开发的书本里引用的例子代码,也对此问题视而不见,尤其让我郁闷的是一些我喜欢的书,如:<<ADO.NET技术内幕>>,<<ASP.NET2.0高级编程(第4版)>>,这两本都是清华大学出版社出版的, 有一本书更糟糕<<Visual Basic.Net专业项目 阅读全文
一起谈.NET技术,实战ASP.NET大规模网站架构:Web加速器
2011-08-29 19:31 by 狼人:-), 294 阅读, 收藏, 编辑
摘要:
大规模网站瓶颈之一就是性能问题,如何让你的网站飞速运转起来,一直是架构师和开发人员苦于思考的问题。文章将针对基于ASP.NET开发的网站交互性非实时部分进行讨论。 一、WEB加速通常有如下方案: 1、基于ASP.NET技术的页面缓存 基于ASP.NET技术的页面缓存,通常有如下两种应用方式: 一、基于数据库触发(设置缓存依赖策略,当数据库中数据发生变化时,触发缓存失效;但微软提供的解决方案目前仅支持SQL Server,如果是ORACLE需要自己实现触发接口)。 二、基于文件依赖的策略(可以设置缓存依赖于文件中的具体键值,当数据更新时,更新文件键值迫使缓存失效)。 ... 阅读全文
一起谈.NET技术,Expression Blend实例中文教程(2) - 界面快速入门
2011-08-29 19:31 by 狼人:-), 184 阅读, 收藏, 编辑
摘要:
上一篇主要介绍Expression系列产品,另外概述了Blend的强大功能,本篇将用Blend 3创建一个新Silverlight项目,通过创建的过程,对Blend进行快速入门学习。
在开始使用Blend前,首先需要进行Silverlight的开发环境搭建,在银光中国网(SilverlightChina.Net)有篇“轻松建立Silverlight开发环境”,其中列出了建立Silverlight开发环境的几个步骤,另外,我在过去发布过一篇“Silverlight开发工具集合”文章,也列出了Silverlight项目开发必装工具软件,这里对于开发环境的搭建,我就不再赘述。
Silverligh. 阅读全文
一起谈.NET技术,数据库访问的性能问题与瓶颈问题
2011-08-29 19:31 by 狼人:-), 275 阅读, 收藏, 编辑
摘要:
声明: 本文是一篇有争议的文章,甚至有可能是一篇争议非常大的文章,可能争来争去依然无法得到一个统一的意见。 场景 个别公司的技术决策者要求团队的开发人员在编写数据访问层的时候,禁止在程序中出现任何的SQL语句,禁止使用Entity Library,禁止使用NBear、NHibernate、IBatis、Entity Framework等ORM框架,只允许使用存储过程。试想一下,您的公司是否是这样子的?您的身边有没有这样的朋友,他们的公司存在这样或类似这样的情况吗? 矛盾点 对于开发人员来说,使用存储过程的话,工作量比以前要大很多,而且涉及到表的字段更改,项目重构也是个非... 阅读全文
一起谈.NET技术,Expression Blend中文教程 - 开篇
2011-08-29 19:31 by 狼人:-), 279 阅读, 收藏, 编辑
摘要:
随着计算机软件开发分工细节化,微软对已有的产品线进行了调整,在保持原有经典开发工具Visual Studio基础上,又推出了一套新的设计开发工具系列,Expression Studio。 Expression Studio设计工具系列包含四项主要产品: Expression Blend Expression Blend(下称Blend),是一款用于设计桌面和Web应用用户界面的可视化工具。用户可以通过拖拉控件方式创建用户交互界面;另外Blend中,包含一款软件原型建模工具SketchFlow, 该工具允许用户快速开发出专业的项目原型,创建设计原型后,以丰富的界面效果展示给客户,该工... 阅读全文
一起谈.NET技术,ASP.NET 4.0 来了
2011-08-29 19:31 by 狼人:-), 286 阅读, 收藏, 编辑
摘要:
伴随着VS2010的公开测试,ASP.NET4.0也进入了我们的视线。ASP.NET4.0究竟给我们带来了什么,将在哪些方面提高我们的生产力? 在何时你需要使用ASP.NET4.0开发你的网站程序? 需要更严格的遵守Web标准; 需要更流畅的Web Form开发方式;
需要更好的搜索引擎优化; 需要后知后觉的纠正一些不够优良的设计,这些设计甚至可能是在ASP.NET 1.0发布之前就存在的; 需要将现有的功能重新改造为支持server farm或跨application domains; 需要将.NET调节和重组为一个整体。 你不需要学习复杂的设计模式或各种SE... 阅读全文
一起谈.NET技术,ASP.NET MVC 路由规则XML化
2011-08-29 19:31 by 狼人:-), 233 阅读, 收藏, 编辑
摘要:
最近由于工作关系,重新回顾了ASP.NET MVC 的 1.0 版本。2.0版本还没有研究。
由于MVC框架发展不久,还有很多不足的地方。其中关于路由规则配置这一块问题比较大。首先路由规则是在全局配置问价 Global.asax 的 Application_Start()事件中注册的。
代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public static void RegisterRoutes(RouteCollection ro 阅读全文
一起谈.NET技术,ASP.NET缓存简介
2011-08-29 19:31 by 狼人:-), 221 阅读, 收藏, 编辑
摘要:
概述 缓存学术一些的解释是”将常用数据放入易于读取的地方以提高性能”。而对于Asp.net来说,需要被缓存的对象多种多样,包括从数据库中提取出来的数据,以及aspx页面生成的静态页,甚至是编译好的程序集。合理利用缓存能让Asp.net的性能大幅提升,下面将对Asp.net中的缓存机制进行简单概述。
缓存的分类 在Asp.net中,大部分缓存机制是保存在cache对象中,也就是服务器内存的一部分。当用户请求数据时,如果数据已经被缓存,则用户所提取的数据直接从服务端返回,而不是从数据库等底层数据库提取。这对性能的提升不得不说很有帮助。下面来看asp.net中几种缓存机制。
程序集缓存 ... 阅读全文
一起谈.NET技术,浅析购物车的实现
2011-08-29 19:31 by 狼人:-), 235 阅读, 收藏, 编辑
摘要:
我从来没有进行过正式的web开发,但是我一直喜欢web,所以这篇文章也是我转行web的一个开始吧。或多或少我也参考了几个网站的实现(当然了,只是看看大概的功能而已),所以也请大家多多指教。该购物车的功能如下:
1. 通过ajax实现添加和删除车上的物品。
2. 删除的物品会显示出来,可以重新添加到购物车。
3. 嗯...没有了,具体大家接着看吧。
购物车的结构我打算用一个table来展示,在UserControl里使用ListView展现购物车的物品(因为比拼接字符串要容易维护的多)。具体代码如下(ShopCartTest.ascx): Code highlighting produced.. 阅读全文
一起谈.NET技术,云计算和数据
2011-08-29 19:31 by 狼人:-), 365 阅读, 收藏, 编辑
摘要:
这篇博客对在云计算解决方案中操作数据进行总览性的介绍。
概览
对于绝大多数解决方案而言,数据都是至关重要的一部分。在云计算里面,绝大多数现成的建议都可以直接拿来用。但是云计算也有其独特之处。这篇博客将讨论以下两个用例: 将你存放在云中的数据发布至全世界 在云端的项目中使用你本地的数据。 通用的建议
无论是哪种用例,这些建议都是通用的。
选择一个拓扑
在SOA的世界中,最重要的一个概念就是契约(contract)。在云计算的世界中,有关通信的最重要的概念也是契约。当一个契约被很多云计算解决方案使用之时,我们就可以把它称作一个拓扑了。
现在我们只讨论数据通信。如果你选择了微软的解决方案,我们... 阅读全文
一起谈.NET技术,性能优化总结
2011-08-29 19:31 by 狼人:-), 257 阅读, 收藏, 编辑
摘要:
最近在领导的要求下做了一下项目的优化,总结如下: 1. 使用存储过程(如果在程序里用exec 存储过程参数,这样执行似乎并没有快多少)。 在数据库里是预编译的,也不需要在字符串传输上花费大量时间。 防sql注入攻击。 2. 尽量优化数据库语句,使逻辑尽量简单 a) 还有就是在使用函数时,charindex >like > padindex 效率依次递减。 b) 查询字段是否包含在以,分隔的字段串时,最好不要用in 速度非常慢。 还有好多,可以总结的,这里就不再描述了。 3. EnableViewState(页面的视图状态)。如果无特殊要求设置为... 阅读全文
一起谈.NET技术,解析对云计算的十大误解
2011-08-29 19:31 by 狼人:-), 219 阅读, 收藏, 编辑
摘要:
云计算既不是网格计算,也不是虚拟化,而是一个由多种产品和服务集成起来的端到端的解决方案。 云计算就是SaaS?云计算只适用于中小企业?云计算不能保证企业数据的安全性? 究竟什么才是云计算?业界对云计算还存在着许多的误读。 误读1、云计算就是网格计算 网格技术是云计算的一个组成部分。如何提供资源给某个工作任务是它们(网格和云)最主要的区别。网格计算关注的是如何将一个工作任务移动到它所需要的,一般来说是一个远程的而且已经可用的资源的所在。通常情况下,一个网格就是一组服务器,一个大的计算任务可以被拆分成多个小的任务被分配到这些服务器上去并行运行。网格计算主要应用在教育和科研机构... 阅读全文
一起谈.NET技术,谈谈微软技术,以及对待技术应有的态度
2011-08-29 19:31 by 狼人:-), 227 阅读, 收藏, 编辑
摘要:
昨晚在家上网,看看微软研究院TechFest 2010的消息,逛逛Channel 9,瞅瞅DevLabs里的项目,以及F#与Reactive Framework之类东西。然而,我一边对那些有趣而奇妙的技术感叹不已,同时却又产生出一种忿忿之情。为什么?因为在国内的技术圈子里,经常有一种在我看来莫名奇妙的鄙视微软技术的风气。这样的风气在国内的推特圈里也非常明显,基本上只有我一个人对微软的技术抱有好感,并“勇于”和大量意见向左的人争辩。忿忿之余,我便在推特上不断表达我对这种风气的抱怨及否定,在这个过程中也基本表达了我在这方面的大部分看法,在这里也进行一番总结总结吧。同时,我也想对微软社区的许多弟.. 阅读全文
一起谈.NET技术,Visual Studio 2010着力打造云计算平台
2011-08-29 19:31 by 狼人:-), 250 阅读, 收藏, 编辑
摘要:
在RC版本发布之后,我们看到微软为Visual Studio 2010增加了很多新功能,同时在云计算方面也有很大的改善,随着云计算时代的到来,软件开发模式和商业模型都将进入全面开放组合的新时代。微软云计算平台Windows Azure,这将把微软带入一个崭新的时代。 Azure来源于法语,语意为天空一样的湛蓝色,这也正是微软所希望的,把其打造成承载所有云上的应用和服务的蓝天。既然微软一开始就表明了要在云计算领域中一展身手,当然不会让我们失望。在微软的Visual Studio 2010产品中,就可以看到云计算的身影。下面将给大家介绍一下,Visual Studio 2010中云计算技术... 阅读全文
一起谈.NET技术,七种武器武装.NET(常用开发工具介绍)
2011-08-29 19:31 by 狼人:-), 221 阅读, 收藏, 编辑
摘要:
我学习.Net快一年了,偶然间发现大家用的开发工具很多我都没见过,于是暗中的进行收集(呵呵,夸张了),现在收集满七种特来做此总结!我称他们为“七种武器”\(^o^)/ 第一种武器长生剑、NUnit (用于编写单元测试) NUnit 是为 .NET 框架生成的开放源代码单元测试框架。NUnit 使您可以用您喜欢的语言编写测试,从而测试应用程序的特定功能。当您首次编写代码时,单元测试是一种测试代码功能的很好方法,它还提供了一种对应用程序进行回归测试的方法。NUnit 应用程序提供了一个用于编写单元测试的框架,以及一个运行这些测试和查看结果的图形界面。 编写 NUnit 测试 作为示例... 阅读全文
一起谈.NET技术,【译】ASP.NET MVC并不仅仅只是Linq to SQL
2011-08-29 19:31 by 狼人:-), 244 阅读, 收藏, 编辑
摘要:
很多ASP.NET的教程中的示例代码使用的数据访问方法是Linq to Sql或是Entity Framework。我在www.asp.net的论坛上看到很多关于讨论是否有其他替代的数据库访问方式,回答是:当然有。这篇文章就讲述了使用Ado.Net作为数据访问层来实现一个典型的增删查改程序。 由于是以练习作为目的,那我就不妨借用Spaanjaar’s 的N层构架文章(Building Layered Web Applications with Microsoft ASP.NET 2.0.)的构架方式。我强烈推荐你阅读他的系列文章,如果嫌太长起码也得看完前两部分,这样就能对N-Laye... 阅读全文
一起谈.NET技术,.NET 4的新特性:图表、SEO及可扩展的输出缓存
2011-08-29 19:31 by 狼人:-), 157 阅读, 收藏, 编辑
摘要:
即将发布的.NET Framework 4.0拥有众多的新改进,此前InfoQ已经对其进行了详尽的报道。本文将再来揭示.NET 4.0中的3个新特性:图表控件、SEO支持以及ASP.NET 4可扩展的输出缓存。
图表控件
微软向开发者提供了大量可免费下载的图表控件,可以在.NET 3.5 ASP.NET或WinForms项目中使用这些控件。要想在Visual Studio 2008中使用这些控件则需要安装一个插件,该插件提供了VS工具箱及智能集成功能。现在这些控件已经集成到了.NET 4.0中,这样就无需再去下载额外的插件了。Samples Environment for MS Chart C 阅读全文
一起谈.NET技术,详解ADO.NET连接池
2011-08-29 19:31 by 狼人:-), 231 阅读, 收藏, 编辑
摘要:
ADO.NET中提供了连接池的功能,多数开发人员很少设置它,因为它是默认的。
界面设置如下图: 关闭连接池也很简单,在连接字符串如下:
Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=SSPI;Pooling=False;
但连接池的本质是什么样的呢? 用Reflector,打开System.Data.SqlClient.SqlConnection的ConnectionString属性的设置值的方法,如下: 代码 Code highlighting produced by Actipro... 阅读全文
一起谈.NET技术,如何实现对上下文(Context)数据的统一管理 [提供源代码下载]
2011-08-29 19:31 by 狼人:-), 421 阅读, 收藏, 编辑
摘要:
在应用开发中,我们经常需要设置一些上下文(Context)信息,这些上下文信息一般基于当前的会话(Session),比如当前登录用户的个人信息;或者基于当前方法调用栈,比如在同一个调用中涉及的多个层次之间数据。在这篇文章中,我创建了一个称为ApplicationContext的组件,对上下文信息进行统一的管理。[Source Code从这里下载]
一、基于CallContext和HttpSessionState的ApplicationContext
如何实现对上下文信息的存储,对于Web应用来说,我们可以借助于HttpSessionState;对于GUI应用来讲,我们则可以使用CallCone 阅读全文
一起谈.NET技术,抛砖引玉:我看微软.NET各子技术领域之应用前景
2011-08-29 19:31 by 狼人:-), 238 阅读, 收藏, 编辑
摘要:
从2002年发布.NET 1.0,历经8年发展,.NET发展到了4.0,已经成为一个庞大而复杂的软件开发与运行平台,其架构日益复杂,其应用领域也在不断地扩展,包容了“一堆”的子技术领域。在.NET 4.0即将发布之际,回顾一下已发布的各项.NET技术,看看哪些技术用得很火,哪些被打入冷宫,再猜猜.NET 4.0中可能会有哪些技术会得到“青睐”,是件有意思的事。 1. 桌面应用程序开发技术( Windows Form和WPF) 在.NET桌面应用程序开发领域,Windows Form是“前辈”,相比以前的老祖宗MFC,其开发效率高得多,即使比一向以“高效率”著称的VB、Delphi之... 阅读全文
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《内置图表控件》篇
2011-08-29 19:31 by 狼人:-), 249 阅读, 收藏, 编辑
摘要:
本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文
一起谈.NET技术,关于技术争论(尤其是ASP.NETWebForms 和 ASP.NETMVC 之争)
2011-08-29 19:31 by 狼人:-), 180 阅读, 收藏, 编辑
摘要:
技术争论在博客和twitter里无休止地进行着,这些争论涵盖每个开发人员社区。每个语言,框架,工具,和平台在某个特定的时间都不可避免地会至少有几个争论在进行中。 下面是我多年来对技术争论所做的几个总的观察,以及对一些我最近看到的,尤其是关于ASP.NET Web Forms 和 ASP.NET MVC的最新讨论的一些评论。 关于技术争论的总的观察 下面是几个总的观察,无关任何具体技术争论: (一) 开发人员喜欢充满热情地争论和比较语言,框架,APIs,和工具。每个编程社区(.NET, Java, PHP, C++, Ruby, Python等等)都如此。我认为你可以2种方... 阅读全文
一起谈.NET技术,强烈推荐体验VisualStudio2010 RC
2011-08-29 19:31 by 狼人:-), 188 阅读, 收藏, 编辑
摘要:
经过第一天漫长枯燥的部长级会议,今儿才算是真正年后的第一天上班。 鉴于家里的“小水管”,直到到了公司(资源合理利用)才将觊觎已久的VS2010RC从网上抓下来。接下来顺利干掉VS2010beta2和.NET FW4beta2。漫长的安装过后(安装中依然要重启一次,具体时间是安装完.NET Framework4以后)终于看到Visual Studio RC的真面目。 没啥变化嘛! 然后就是一顿小白鼠似的体验,果然如Scott说的一样:RC并未带来什么功能性的变化。 不过。。。 首先让我激动万分的是---在win7下终于不再崩溃了!要知道,之前的beta2在我本子上可... 阅读全文
一起谈.NET技术,解构Unity的腳本物件模型
2011-08-29 19:31 by 狼人:-), 267 阅读, 收藏, 编辑
摘要:
Unity是一个以 Mono 为基础的游戏开发环境,能同时支持三种脚本语言,包括 C#、Javascript 和 Boo (类似 Python)。
由于 Unity 的开发工具暂时只有 Mac 的版本(2010年2月25日更新: 现时已有Windows版本,而且有免费授权版,另外因为Unity iPhone版的出现使Unity的使用者大增),所以暂时未能测试。但是它有很详细的文档,看上来很易用,所以就从文字上学习它的 Script 使用方式。
跟据一些 Tutorial 及参考手册,我用 Graphviz 画了一个 (我认为) 最核心的 UML 类图: 从这个类图我们可以理解它的结构,及如何. 阅读全文
一起谈.NET技术,DataReader 程序性能优化
2011-08-29 19:31 by 狼人:-), 302 阅读, 收藏, 编辑
摘要:
随着 .NET 平台上,LINQ、ORM 框架、Dynamic Data、... 各种数据访问技术不断推陈出新,程序员也一直追着新技术跑,但对底层和代码细节却越来越难以掌控。当项目性能需要调优时,通常也只能对数据库加入更多索引,而多数人已难以对数据访问的代码优化,且手写 SQL 语句的功力似乎也持续退化中。 大家在拼命追求新技术时,似乎已忘记微软的 MCTS 证照,还有一门 ADO.NET 的科目 。且若有练好 ADO.NET 的基本功,当项目遇到特殊需求时,也才能手写得出来。例如下图 1 的「阶层式下拉菜单 (Hierarchical DropDownList)」,功能很简单,在实务... 阅读全文
一起谈.NET技术,Windows Mobile 6.5的开始菜单
2011-08-29 19:31 by 狼人:-), 233 阅读, 收藏, 编辑
摘要:
缘由
由于 luafie 对 Windows Mobile打包时增加快捷方式到开始菜单的方法 有些疑问,我把自己的经验总结一下。 历史发展
Windows Mobile的开始菜单一直被我认为是错误的设计。我之前就讨论过我对菜单的看法,可以参考 Mircosoft 正式把Windows Mobile改名为Windows Phone,你会因此而购买Windows Phone吗? 开始菜单是Windows的制胜法宝,如下图。 却却是Windows Mobile的历史包袱,下图为Windows Mobile 5的开始菜单。 下面是Windows Mobile 6.1的开始菜单。 尽管Wind... 阅读全文
一起谈.NET技术,ASP.NET MVC 验证方式(1)
2011-08-29 19:31 by 狼人:-), 270 阅读, 收藏, 编辑
摘要:
实现一个简单的验证(C#) 本部分主要目的是说明如何在ASP.NET MVC应用程序中实现验证。例如,将了解如何验证一个表单提交时必填内容的合法性。了解如何应用model state和验证相关的HTML helpers。 理解Model State 你使用model state,更准确点说是使用model state字典去表示验证错误。比如,列表一中的Create()方法,在产品类保存入库之前去验证产品类的属性。 把验证和数据逻辑加到控制类中是违反编程方法的,控制类中应该仅包含程序的流程逻辑。此处是为了便于说明才这样写的。 列表1---Controllers\Produ... 阅读全文
一起谈.NET技术,Sharepoint 究竟能为客户做些什么
2011-08-29 19:31 by 狼人:-), 297 阅读, 收藏, 编辑
摘要:
从2004年算起来,专注于Sharepoint技术以及六七年了。从SPS2003,到MOSS2007,已经现在的Sharepoint Server2010 Beta2,Sharepoint技术可以说是迈过了一个又一个台阶,起码可以说,字面的功能是越来越强大。 国内的Sharepoint应用,应该说是从2007年进入了发展的阶段,虽然也有SPS2003下的应用,但是敢于尝鲜的企业毕竟很少,而且说实话,SPS2003下做企业应用,实在是太困难了,所谓的团队协作只能是个供销售人员忽悠的概念,干不了多少实在的事情。MOSS2007发布后,国内的应用渐渐多了起来,北京的几家专注于Sharepoi... 阅读全文
一起谈.NET技术,大话Session
2011-08-29 19:31 by 狼人:-), 219 阅读, 收藏, 编辑
摘要:
引言 在web开发中,session是个非常重要的概念。在许多动态网站的开发者看来,session就是一个变量,而且其表现像个黑洞,他只需要将东西在合适的时机放进这个洞里,等需要的时候再把东西取出来。这是开发者对session最直观的感受,但是黑洞里的景象或者说session内部到底是怎么工作的呢?当笔者向身边的一些同事或朋友问及相关的更进一步的细节时,很多人往往要么含糊其辞要么主观臆断,所谓知其然而不知其所以然。
笔者由此想到很多开发者,包括我自己,每每都是纠缠于框架甚至二次开发平台之上,而对于其下的核心和基础知之甚少,或者有心无力甚至毫不关心,少了逐本溯源的精神,每忆及此,无不惭愧。曾经. 阅读全文
一起谈.NET技术,个人管理 - 使用Scrum来敏捷自己
2011-08-29 19:31 by 狼人:-), 201 阅读, 收藏, 编辑
摘要:
每个人都有自己的生活和自己的职业或事业,如果把经营个人成长作为一个项目来看,那么在这个个人管理项目中,我们每个人都是这个项目的管理者和执行者。 Scrum敏捷开发方法 如果你是一名开发人员,那么现在还不知道Scrum方法,那么你就out了。Scrum是一种现在普遍流行并且很好的一种基于管理为主的敏捷项目开发方法。我之前blog中全面概要的介绍了一下Scrum方法,如果你不熟悉的而又想了解下面内容,请你最好去去仔细看看我这篇文章《流程 - 从IT方法论来谈Scrum》,因为下面我将描述我们如何基于Scrum方法来进行个人管理项目的执行。 价值观 在Agile Softwar... 阅读全文
一起谈.NET技术,.NET程序员必备参考图片
2011-08-29 19:31 by 狼人:-), 403 阅读, 收藏, 编辑
摘要:
昨天我讲到对.NET Framework的一点理解,今天又有所收获,马上来和大家分享。大家平时大都是参考MSDN,其实这足够了,那么我今天要分享的是什么呢?大家平时用过多少namespace?或者说用过多少FCL?我本人喜欢更加直观的图片,所以找到了FCL的图片。哈哈,比较壮观!这是.NET Framework 3.5的FCL概念图,囊括了几乎所有FCL,我想可以做个桌面背景,或是打出来贴墙上,用过那些可以标记上,看看你最后能学到多少?可以到Microsoft下载PDF版和打印版。 这张是.NET Framework 4.0中新增的内容,与时俱进嘛。PDF下载 最后是与Vi... 阅读全文
一起谈.NET技术,ASP.NET MVC中实现多个按钮提交的几种方法
2011-08-29 19:31 by 狼人:-), 307 阅读, 收藏, 编辑
摘要:
有时候会遇到这种情况:在一个表单上需要多个按钮来完成不同的功能,比如一个简单的审批功能。 如果是用webform那不需要讨论,但asp.net mvc中一个表单只能提交到一个Action处理,相对比较麻烦点。
方法一:使用客户端脚本
比如我们在View中这样写:
代码
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><inputtype="submit"value="审核通过"onclick=&# 阅读全文
一起谈.NET技术,Oxite 项目结构分析
2011-08-29 19:31 by 狼人:-), 252 阅读, 收藏, 编辑
摘要:
Oxite中有6个Project,每个项目各自作为项目架构中的不同的层。下面我们来各自的分析一下这6个项目。 我们可以看到这六个项目分别是Oxite,LinqToSqlDataProvider,MVC,Test,OxiteSite,(Oxite.Database 需要安装SQL Server2005)。 1. Oxite 该项目中包含了Routing的定义,Model和Services服务层的代码,还有Oxite运行时的后台服务类,配置类,同时,在该项目中也定义了数据访问层的接口,但并没有实现。 BackgroundServices 定义了插件的服务类,
Ext... 阅读全文
一起谈.NET技术,一步一步教你实现简单的自定义错误跟踪
2011-08-29 19:31 by 狼人:-), 169 阅读, 收藏, 编辑
摘要:
一、设计xml,应该包含下面信息:
1、Datetime: 发生错误/异常的日期和时间2、File name: 发生错误/异常的文件名3、Class name : 发生错误/异常的类名4、Methodname: 发生错误/异常的方法名5、Errormethod : 包含错误代码的函数名字6、Message :错误/异常的信息7、Error details: 错误/异常详情8、IP : 客户端IP地址9、URL : 发生错误的URL
DemoXML:
DemoXML Code highlighting produced by Actipro CodeHighlighter (freeware). 阅读全文
一起谈.NET技术,数组排序方法的性能比较(3):LINQ排序实现分析
2011-08-29 19:31 by 狼人:-), 332 阅读, 收藏, 编辑
摘要:
上次我们分析了Array.Sort方法的实现方式,并了解到类库会为一些特例而使用高性能的排序方式——int数组便是这样一例,因此从测试结果上来看其性能特别高。不过从数据上看,即便是在普通的情况下,Array.Sort的性能也比LINQ排序要高。不过也有朋友从测试中得出的结论正好相反,这又是为什么呢?那么现在,我们再来分析一下LINQ排序的实现方式吧,希望这样可以了解到两者性能差别的秘密。
只可惜,LINQ排序的代码在System.Core.dll程序集中,微软没有发布这部分源代码,我们只得使用.NET Reflector来一探究竟了。
LINQ排序接口的定义、使用及扩展
所谓LINQ排序,便是 阅读全文
一起谈.NET技术,Visual Studio DSL 入门 2
2011-08-29 19:31 by 狼人:-), 196 阅读, 收藏, 编辑
摘要:
相信如果看过一上篇你已经对vs.net dsl有了一定的了解,接下来我们就来开始我们的这个系列的入门,Vs.net Dsl在国内可能使用的人少之又少,不过希望这个系列能够使看到的人能够对dsl有一定的了解,使之能够成为产品方案选型时的一个参考,能够对阅读的人有所帮助. 准备环境 由于vs.net 2010并未正式发布,所以这一系列基于vs 2008 sp1进行开发,Dsl tools是包含在VSX当中的,所以需要下载 Vistual Stutio.Net SDK 1.1安装,下载地址为:http://msdn.microsoft.com/zh-cn/vsx/default(en-us).a.. 阅读全文
一起谈.NET技术,Visual Studio DSL 入门 3---创建一个简单的DSL模型
2011-08-29 19:31 by 狼人:-), 451 阅读, 收藏, 编辑
摘要:
从这节开始我们就开始我们的DSL之旅, 首先确保你已经安装了Visual Studio Sdk,并且使用的是Visual Studio 2008.我们先大概创建一个简单的DSL项目,通过这个项目来了解dsl的开发环境和流程.
1. 打开VS.NET ,新建--项目, 点击其它项目类型--扩展性(Extensibility). 这里列出来了vs.net扩展类型的项目,包括Addin,VSPackage,Dsl等项目类型,选择"Domain Specific Lan guage Designer”,点击确定 2.接下来进入DSL创建向导,将会提供四种DSL模型模板提供我们选择,其实他们只 阅读全文
一起谈.NET技术,Visual Studio DSL 入门 1
2011-08-29 19:31 by 狼人:-), 371 阅读, 收藏, 编辑
摘要:
什么是特定领域开发和DSL 特定领域开发是用来解决重复发生的问题的方法,针对每次发生的问题,通过进行总结和分析,他们之间相同的方面可以一次性的解决.而经常变化的方面,可以采用一种特殊的语言表达.针对这个特殊语言,我们可以建立模型或者表达式,然后插入到固定部分. 对于我们软件行业的解决方案来说,固定部分一般采用传统的设计和实现方式,可以为框架,平台,解释器或者编程接口.提供可扩展性,具有高度的抽象性和可复用性.而特定领域语言专门用来创建变化的部分,从而使整个解决方案可具有可应用性. 特定领域语言(DSL,Domain Specific Language)是一种特别用来描述某一专业领域内涵的... 阅读全文
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《添加引用对话框的改进》篇
2011-08-29 19:31 by 狼人:-), 224 阅读, 收藏, 编辑
摘要:
本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《VS 2010代码智能提示的改进》篇
2011-08-29 19:31 by 狼人:-), 184 阅读, 收藏, 编辑
摘要:
本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《在VS 2010中查询和导航代码》篇
2011-08-29 19:31 by 狼人:-), 247 阅读, 收藏, 编辑
摘要:
本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文
一起谈.NET技术,总结字符串比较函数
2011-08-29 19:31 by 狼人:-), 312 阅读, 收藏, 编辑
摘要:
最近一段时间一直在重看CLR via C# , 这次把字符串比较的函数总结下。 1.Compare和CompareTo大PK 首先是我们最常用的String.Compare和CompareTo实例方法,先来看看这两个方法: 我们通过这个可以直观地看到,String的静态方法要比CompareTo多出好多的方法重载,其实这也是两者的最大区别,也就是说String.Compare有着更多的功能选项供我们控制。 其中主要包含着三个方面: A. 文化信息 B. CompareOptions C. 比较的开始和结束位置 对于文化信息,我们可以看下Compare... 阅读全文
一起谈.NET技术,一个MVC分页Helper
2011-08-29 19:31 by 狼人:-), 224 阅读, 收藏, 编辑
摘要:
本人写的一个分页Helper,支持普通分页(也就是,首页、上一页、下一页、末页等),综合分页(普通分页和数字分页的综合)。下面是分页效果: 分页代码:
PagerHelper.cs
代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Collections.Specialized;4usingSystem.Linq;5us. 阅读全文
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇
2011-08-29 19:31 by 狼人:-), 359 阅读, 收藏, 编辑
摘要:
本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中实现URL导向》篇
2011-08-29 19:31 by 狼人:-), 177 阅读, 收藏, 编辑
摘要:
本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文
一起谈.NET技术,使用LINQ to SQL更新数据库(中):几种解决方案
2011-08-29 19:31 by 狼人:-), 231 阅读, 收藏, 编辑
摘要:
在前一篇文章中,我提出了在使用LINQ to SQL进行更新操作时可能会遇到的几种问题。其实这并不是我一个人遇到的问题,当我在互联网上寻找答案时,我发现很多人都对这个话题发表过类似文章。但另我无法满足的是,他们尽管提出了问题,却没有进行详细的剖析,只给出了解决方案(如添加RowVersion列、去除关联等),但却没有说明为什么必须这么做。这也是我写上篇的初衷,希望通过对LINQ to SQL源代码的分析,来一步一步找出解决问题的办法。本文将对这些方法一一进行讨论。
方案一:重新赋值
在TerryLee、Anytao和Ding Xue等人的开源框架Ezsocio中,有些地方采取了重新赋值的方法。 阅读全文
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《多显示器支持》篇
2011-08-29 19:31 by 狼人:-), 456 阅读, 收藏, 编辑
摘要:
本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《自动启动ASP.NET应用》篇
2011-08-29 19:31 by 狼人:-), 213 阅读, 收藏, 编辑
摘要:
本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文
一起谈.NET技术,使用LINQ to SQL更新数据库(上):问题重重
2011-08-29 19:31 by 狼人:-), 358 阅读, 收藏, 编辑
摘要:
在学习LINQ时,我几乎被一个困难所击倒,这就是你从标题中看到的更新数据库的操作。下面我就一步步带你走入这泥潭,请准备好砖头和口水,Follow me。
从最简单的情况入手
我们以Northwind数据库为例,当需要修改一个产品的ProductName时,可以在客户端直接写下这样的代码:
// List 0NorthwindDataContext db = new NorthwindDataContext();
Product product = db.Products.Single(p => p.ProductID == 1);
product.ProductName = " 阅读全文
一起谈.NET技术,数组排序方法的性能比较(中):Array.Sort<T> 实现分析
2011-08-29 19:31 by 狼人:-), 341 阅读, 收藏, 编辑
摘要:
昨天我们比较了Array.Sort方法与LINQ排序的性能,知道了LINQ排序的性能以较大幅度落后于Array.Sort方法。而对于Array.Sort来说,性能最高的是其中使用Comparer.Default作为比较器的重载方法。在前文的末尾我们做出了推测:由于排序算法已经近乎一个标准了(快速排序),因此从算法角度来说,Array.Sort方法和LINQ排序上不应该有那么大的差距,因此造成两者性能差异的原因,应该是具体实现方式上的问题。 下载.NET框架的代码 既然是比较实现的区别,那么阅读代码是很直接的选择。谈到阅读.NET代码,我们往往会使用.NET Reflector将框架... 阅读全文
一起谈.NET技术,20条.NET编码习惯
2011-08-29 19:31 by 狼人:-), 131 阅读, 收藏, 编辑
摘要:
1、不要硬编string/ numeric,可以使用一些常量代替。 (提高可读性) Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->intCount;Count=100;privatestaticconstintZERO=0;if(Count==ZERO){//执行一些操作} 2、对于字符串比较-使用String. Empty ,而不是""。
3、不要声明成员变量为public 或者proteted,尽量使用private 阅读全文
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《多定向支持》篇
2011-08-29 19:31 by 狼人:-), 263 阅读, 收藏, 编辑
摘要:
本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇
2011-08-29 19:31 by 狼人:-), 202 阅读, 收藏, 编辑
摘要:
本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《起始项目模板》篇
2011-08-29 19:31 by 狼人:-), 195 阅读, 收藏, 编辑
摘要:
本系列文章导航VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇VS 2010 和 .NET 4.0 系列之《起始项目模板》篇VS 2010 和 .NET 4.0 系列之《多定向支持》篇VS 2010 和 .NET 4.0 系列之《多显示器支持》篇VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇VS 2010 和 .NET 4.0 阅读全文
一起谈.NET技术,40条ASP.NET开发Tip
2011-08-29 19:31 by 狼人:-), 242 阅读, 收藏, 编辑
摘要:
1、在compilation 下,请设置debug=false ,如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->defaultLanguage="c#"debug="false"> 2、请使用Server.Transfer代替Response.Redirect。
3、使用Validator控件,请要经常检查Page.IsValid。
4、请使用foreach循环,而不是为字符串迭代循环。 阅读全文
一起谈.NET技术,网络硬盘开发技巧之ASP.NET+XML
2011-08-29 19:30 by 狼人:-), 317 阅读, 收藏, 编辑
摘要:
文件传送常用的三种方式FTP、Email及“网上邻居”都在一定程度上实现了文件数据的交流,但它们都主要面向“点对点”的传送,无法实现“一块空间,资源互见”的应用需求,这种基于“点对多”的共享模式需要寻求另外的传输途径,网络硬盘就是一种很好的解决方式。常用传输方式及其在特定环境下面临的困难我们经常有这样的应用需求:通过网络交换公共数据文件以实现资源共享,同时保护私有数据不被非法访问,并使用简单、直观的方式操作。 英国Ewedrive提供1GB的免费存储空间,比较好的是它不限制单个文件大小。 我们常用的文件传输FTP、Email邮件、网上邻居都能实现文件的传送。其中,"Ftp" 阅读全文
一起谈.NET技术,深入ASP.NET 2.0的提供者模型(2)
2011-08-29 19:30 by 狼人:-), 219 阅读, 收藏, 编辑
摘要:
WebForums.NET提供者模型-一个早期的原型 相对于微软建议使用的提供者模型,Andy的提供者模型含有一些不足。一方面,WebForums.NET中提供了单个抽象基类,所有的API定义都聚集在这个类中。其负面作用在于,如果一个客户仅想定制系统的一小部分,例如用户信息的存储方式,那么他必须提供该系统中所有方法的实现。一种更好的方案是,为系统中的每一个逻辑实体创建一个抽象基类。例如,对于一个在线消息板应用程序来说,它可能需要一些类,如UsersProvider,ForumsProvider,PostsProvider,等等。然而,在你提供给一个客户的提供者数目之间也存在一个平衡问题。更.. 阅读全文
一起谈.NET技术,将Flash 嵌入WPF 程序
2011-08-29 19:30 by 狼人:-), 277 阅读, 收藏, 编辑
摘要:
由于WPF 本身中不支持COM 组件同时也无法加载ActiveX 控件,所以需要借助WinForm 引用ActiveX 控件将Flash 加入其中。首先创建一个WPF 项目(WpfFlash),将Flash 文件(.swf)加入到项目中,并将Copy to Output Directory 设置为"Copy always"。 在工程中新增一个Windows Forms Control Library 项目(FlashControlLibrary),利用该控件库加载Flash ActiveX。 在FlashControlLibrary 项目工具栏(Toolbox)中点击鼠标右 阅读全文
一起谈.NET技术,使用View Model从表现层分离领域模型
2011-08-29 19:30 by 狼人:-), 345 阅读, 收藏, 编辑
摘要:
MVC架构模式是近年来编程世界里最长被提及的模式之一,Model-View-Controller(模型-视图-控制器,MVC) 模式将你的软件组织并分解成三个截然不同的角色: Model 封装了你的应用数据、应用流程和业务逻辑。 View 从 Model 获取数据并格式化数据以进行显示。 Controller 控制程序流程,接收输入,并把它们传递给 Model 和 View。 与其它设计模式不同,MVC 模式并没有直接反映一个你能够编写或配置的类结构。相反,MVC 更像一个概念上的指导原则或范型。概念上的 MVC 模式被描述为三个对象 —— Model、View 和 Con... 阅读全文
一起谈.NET技术,ASP.NET缓存分析和实践浅析
2011-08-29 19:30 by 狼人:-), 171 阅读, 收藏, 编辑
摘要:
说到ASP.NET缓存,那就是:尽早缓存;经常接触缓存的您应该在应用程序的每一层都实现缓存。向数据层、业务逻辑层、UI或输出层添加缓存支持。内存现在非常便宜—因此,通过以智能的方式在整个应用程序中实现缓存,可以获得很大的性能提高。缓存可以掩盖许多过失缓存是一种无需大量时间和分析就可以获得“足够良好的”性能的方法。 这里再次强调,内存现在非常便宜,因此,如果您能通过将输出缓存30秒,而不是花上一整天甚至一周的时间尝试优化代码或数据库就可以获得所需的性能,您肯定会选择缓存解决方案(假设可以接受30秒的旧数据)。缓存正是那些利用20%付出获得80%回报的特性之一,因此,要提高性能,应该首先想... 阅读全文
一起谈.NET技术,从.NET中委托写法的演变谈开去(上):委托与匿名方法
2011-08-29 19:30 by 狼人:-), 187 阅读, 收藏, 编辑
摘要:
在《关于最近面试的一点感想》一文中,Michael同学谈到他在面试时询问对方“delegate在.net framework1.1,2.0,3.5各可以怎么写”这个问题。于是乎,有朋友回复道“请问楼主,茴香豆的茴有几种写法”,“当代孔乙己”,独乐,众乐。看了所有的评论,除了某些朋友认为“的确不该不知道这个问题”之外,似乎没有什么人在明确支持楼主。
不过我支持,为什么?因为我也提过出这样的问题。
这样,我们暂且不提应聘“高级开发人员”的人,在“自称熟悉各版本.NET框架”的前提下,是否应该知道这个答案。我们也暂且不提Michael同学提问的“目的”是什么。老赵就先单独针对这个问题进行解释,然后谈 阅读全文
一起谈.NET技术,现有ASP.NET MVC框架应用巧妙移植到手机
2011-08-29 19:30 by 狼人:-), 456 阅读, 收藏, 编辑
摘要:
客户对产品质量非常满意,因此在项目完成后又给我们另外一个订单,即部署客户程序到Windows智能手机设备上。但是我们项目团队成员以前都没有这种开发经验。我们的计划是通过最小限度的修改现有程序代码,使其可以运行在Windo智能手机上。 移动设备Web应用工具箱(WebApplicationToolkitforMobileDevices) 我们选择了微软移动设备Web应用开发工具箱作为解决方案。使用这个免费的工具,可以轻松将基于MVC框架的Web应用扩展到移动设备上。
下载地址: http://code.msdn.microsoft.com/WebAppToolkitMobile/Rel... 阅读全文
一起谈.NET技术,从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势
2011-08-29 19:30 by 狼人:-), 171 阅读, 收藏, 编辑
摘要:
在上一篇文章中我们简单探讨了.NET 1.x和.NET 2.0中委托表现形式的变化,以及.NET 2.0中匿名方法的优势、目的及注意事项。那么现在我们来谈一下.NET 3.5(C# 3.0)中,委托的表现形式又演变成了什么样子,还有什么特点和作用。
.NET 3.5中委托的写法(Lambda表达式)
Lambda表达式在C#中的写法是“arg-list => expr-body”,“=>”符号左边为表达式的参数列表,右边则是表达式体(body)。参数列表可以包含0到多个参数,参数之间使用逗号分割。例如,以下便是一个使用Lambda表达式定义了委托的示例1:
Func<int, 阅读全文
一起谈.NET技术,WPF 员工卡条形码
2011-08-29 19:30 by 狼人:-), 217 阅读, 收藏, 编辑
摘要:
大家都知道条形码(Barcode)是一种可以由机器识别的特殊编码,在生产、生活中也常常会见到并使用它。条形码的类型和种类很多感兴趣的朋友可以详细了解一下。其中Code 39 可以说是一种最为常见并广泛使用的字符与数字结合的编码类型,本篇也将利用它制作一个带有条形码的员工卡应用程序。 在公司内部员工卡是员工身份唯一的识别工具,同时也是考勤及门禁系统的主要信息来源。首先在WPF 中设计一个简单的员工卡样式,具备员工卡标识、员工相片、员工姓名等。
<Border CornerRadius="3" BorderBrush="Gray" BorderThic 阅读全文
一起谈.NET技术,C#中访问私有成员
2011-08-29 19:30 by 狼人:-), 197 阅读, 收藏, 编辑
摘要:
首先我必须承认访问一个类的私有成员不是什么好做法。大家也都知道私有成员在外部是不能被访问的。而一个类中会存在很多私有成员:如私有字段、私有属性、私有方法。对于私有成员访问,可以套用下面这种非常好的方式去解决。
private string name;public string Name{ get { return name; } set { name = value; }}
但是有时候,源代码是别人的,你就不能修改源代码,只提供给你dll。或者你去维护别人的代码,源代码却有丢失。这样的情况如果你想知道私有成员的值,甚至去想直接调用... 阅读全文
一起谈.NET技术,负载均衡服务器Session共享的解决方案
2011-08-29 19:30 by 狼人:-), 264 阅读, 收藏, 编辑
摘要:
在ASP.NET的程序中要使用Session对象时,必须确保页面的@page指令中EnableSessionState属性是True或者 Readonly,并且在web.config文件中正确的设置了SessionState属性。 ASP.NET中Session的状态保持是由web.config文件中的标记下的标记的mode属性来决定的。该属性有四种可能的值:Off、Inproc、StateServer和SQlServer。 设为Off会禁用Session。 Inproc是缺省的设置,这种模式和以前的ASP的会话状态的方法是类似的,会话的状态会被保存在ASP.NET进程中,它的... 阅读全文
一起谈.NET技术,参数编码 完全解决方案
2011-08-29 19:30 by 狼人:-), 328 阅读, 收藏, 编辑
摘要:
参数编码规范
一.摘要
我们经常要在页面传递中文数据,但是往往被文字编码所困惑.有时不了解到底是浏览器编码问题还是服务器编码问题.本文分析了互联网传递数据的编码原理, 并且提出了完善易用的解决方案.
二.原则
避免在get或者post参数时直接传递中文字符.中文参数需要经过编码后再传递.服务器端要使用相同的编码格式进行解码 三.错误观点
1.很多程序员认为url中可以传递中文. url中并不能携带中文参数.如果我们在浏览器中输入"http://localhost/?a=中文",感觉上我们在url中带了中文,实际上当按下回车键后,浏览器自动将其中的"中文" 阅读全文
一起谈.NET技术,浅析五大ASP.NET数据控件
2011-08-29 19:30 by 狼人:-), 209 阅读, 收藏, 编辑
摘要:
ASP.NET数据控件综述: 1. 前3个(GridView 控件,DetailsView 控件,FormView 控件)用于呈现多条记录,后面2个(Repeater 控件,DataList 控件)用于呈现单条数据明细,即常用的记录明细。 2. GridView和DetailsView控件的布局固定,自定义数据显示的布局功能有限,一般适合布局简单的数据呈现。 3. DataList, Repeater和FormView数据控件都有很强的自定义布局能力,如果数据呈现需要较为复杂的布局方案,这3个控件是首选。 4. GridView, DetailsView和FormView这... 阅读全文
一起谈.NET技术,生成不重复的随机数的二种方法
2011-08-29 19:30 by 狼人:-), 629 阅读, 收藏, 编辑
摘要:
下面我以生成1-10之间的10个不重复的随机数为例介绍生成不重复的随机数的三种方法:1. 通过while循环来实现通过while循环不停的生成随机数,直到生成一个不重复的为止,这种方法比较容易想到,但是效率也比较低下,实例代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> static void Main(string[] args) { int[] result = new int... 阅读全文
一起谈.NET技术,从扩展方法到流畅的程序体验(一)
2011-08-29 19:30 by 狼人:-), 191 阅读, 收藏, 编辑
摘要:
今天让公司的程序员试用了一下还在开发中的代号为"Jumony"的HTML数据绑定引擎,开发人员的一句评价被我视为最高的褒奖。 “感觉这个框架就是,你想到什么就写什么。” 想到什么就写什么,在这个越来越强调快速开发的时代,这一点变得越来越重要。我最近经常戏言:“natural code才是王道”,当然,不是说我们要用中文去编程,而是程序应该成为越来越自然的表达。 让程序员获得流畅的编程体验,是将来每一个框架都必须去考虑和实现的事情。随着.NET Framework 3.5的普及,越来越多的.NET框架开始注重为程序员提供流畅的体验。为什么是随着.NET Framework 3 阅读全文
一起谈.NET技术,在.NET中使用域对象持续模式
2011-08-29 19:30 by 狼人:-), 141 阅读, 收藏, 编辑
摘要:
域应用程序对象通常是整个应用程序的中心,被很多子系统使用。它们表现了核心的数据和业务验证规则;因此,良好的域对象设计对于牢固的、高性能的和灵活的应用程序非常关键。 当我们开发那些使用了关系数据库的面向对象应用程序的时候,建立与数据库设计一致的域对象设计可以使应用程序更容易理解,这是因为在典型情况下,域对象表现了现实的"实体"和它们彼此之间的关系。因此,在很多情形下,域对象都被"映射"为关系数据库表和表间关系。但是,这种映射非常容易出错,从而以不合需要的域对象设计为终结。域对象的良好设计要求开发者对面向对象和关系的基本原理有深刻的理解。 域对象持续(Dom 阅读全文
一起谈.NET技术,NHibernate 3.0.0.Alpha1 发布及新特性介绍
2011-08-29 19:30 by 狼人:-), 248 阅读, 收藏, 编辑
摘要:
发布 刚刚NHibernate的Leader——Fabio Maulo发布了NHibernate 3.0.0.Alpha1版本,这是NHibernate 3.0.0的第一个公开测试版本。 下载地址 你可以到这里下载NHibernate 3.0.0.Alpha1,基于.Net3.5平台,具体文件如下。 NHibernate源码:NHibernate-3.0.0.Alpha1-src.zip NHibernate二进制文件:NHibernate-3.0.0.Alpha1-bin.zip 特性介绍 NHibernate 3.0.0版本可以说是跨时代的一个版本,N... 阅读全文
一起谈.NET技术,Linq to SQL T4 代码生成器 (-)访问 DataContext 对象
2011-08-29 19:30 by 狼人:-), 382 阅读, 收藏, 编辑
摘要:
这个工具,是在一个项目中提取出来的,现在免费提供给大家使用。
本文介绍的 Linq to SQL T4 代码生成器有如下特点:
1、支持 dbml 文件。能够访问 dbml 设计器中的对象。
2、可能通多修改模版来生成代码。
3、可以生成多个文件。比如:一个类一个文件。
准备:
1、T4 代码编辑器(goole 即可)。尽管不是必须,但是为了方便代码的编辑,还是建议安装一个。
2、下载安装 Decode_VS2008 (必须)。
开始:
1、创建一个项目。然后运行 LicenseFileGenerator.exe 生成一个名为 deco.lic 的授权文件,并添加到项目中。 其中 Asse.. 阅读全文
一起谈.NET技术,Linq to SQL T4 代码生成器 (二)访问设计器中的 Table 对象
2011-08-29 19:30 by 狼人:-), 254 阅读, 收藏, 编辑
摘要:
在上一篇文章中,介绍了如何访问 DataContext 对象,下面接着来讲解一下如何访问设计器中的表对象,并生成生体类代码。从 Northwind 数据库中拖一个表到设计器中。拖出来后,记得保存 dbml 文件,否则是无法访问到这个表的。 在这里拖的是 Catories 表,如下图所示: 我们可以通过访问 DataContext.Tables 来访拖放到设计器中的表。代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><# f. 阅读全文
一起谈.NET技术,ASP.NET MVC 2 验证消息本地化策略扩展
2011-08-29 19:30 by 狼人:-), 214 阅读, 收藏, 编辑
摘要:
ASP.NET MVC2 结合System.ComponentModel.DataAnnotations 提供了一套非常有效的实体验证框架。对于错误信息的处理,它默认提供了两种选择: 字符串常量 从程序集资源文件读取 但是在我们这里,我们有一套自己的资源文件方案,也就是我们需要自己控件错误信息的本地化操作。由于在元数据,我们只能提供常量,无法进行字符串操作。一种比较直接和麻烦的办法就是重写所有的验证规则,在验证规则中对字符串常量进行本地化操作。 Code highlighting produced by Actipro CodeHighlighter (freeware)ht... 阅读全文
一起谈.NET技术,.NET Framework源码研究系列之---Delegate
2011-08-29 19:30 by 狼人:-), 157 阅读, 收藏, 编辑
摘要:
前言 曾几何时能看到微软产品的源码简直是天方夜谭,不过现在这却成了现实,微软终于对外开放了它的产品的源代码.抛去开源运动与微软之间的世代情仇,抛去微软这一做法的初衷,这总归是件好事,能够让我们拨开云雾,一窥优秀产品的秘密. 前两天看到有位仁兄在随笔中的留言,说他以为".NET中的设计模式"是在讲.NET Framework与设计模式的关系,其实不是,不过这也让我想起来自己确实研究过.NET Framework的源码,于是就找打算找时间把自己的心得体会拿出来和大家一起分享. 今天就先从最容易让人困惑的委托(delegate)开始,让我们步入.NET Framework源码世界 阅读全文
一起谈.NET技术,构建高性能ASP.NET站点之一 剖析页面的处理过程(前端)
2011-08-29 19:30 by 狼人:-), 223 阅读, 收藏, 编辑
摘要:
前言:在对ASP.NET网站进行优化的时候,往往不是只是懂得ASP.NET就足够了的。 在优化的过程中,一般先是找出问题可能存在的地方,然后证明找出的问题就是要解决的问题,确认之后,在进行一些措施。系列文章在结构上的安排是这样的:先讲述前端的调优,我会在文章的标题后面标上”前端”,如果是后台代码的调优,我会在标题上标上”后端”,如果是数据库设计的调优,我会在标题上标上”数据库”,希望大家多多提建议。 本篇主要剖析过程,让大家有个全面的了解,下一篇 就开始分步剖析了。 本篇的议题如下: 剖析页面的解析过程
分析出可能存在的优化点 剖析页面的解析过程 页面的解析过程,... 阅读全文
一起谈.NET技术,asp.net页面中输出变量、Eval数据绑定等总结
2011-08-29 19:30 by 狼人:-), 655 阅读, 收藏, 编辑
摘要:
在asp.net应用程序中,在asp.net页面常用的<%@ %>、<%# %>、<%= %>。在全球化的项目中使用<%$ %>绑定资源项目,在asp.net mvc中使用<%: %>绑定ViewData。 <%@ %>主要用于在web页面定义Page、引入控件、组件、设置Cache等: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><%@ Page %>& 阅读全文
一起谈.NET技术,全面认识一下.NET 4的缓存功能
2011-08-29 19:30 by 狼人:-), 387 阅读, 收藏, 编辑
摘要:
很多关于.NET 4.0新特性的介绍,缓存功能的增强肯定是不会被忽略的一个重要亮点。在很多文档中都会介绍到在.NET 4.0中,缓存功能的增强主要是在扩展性方面做了改进,改变了原来只能利用内存进行缓存的局限,允许用户在不改变代码的情况下通过修改配置的方式,灵活的切换缓存介质。Cache Provider是可扩展的,开发人员可以方便的将缓存存放在文件中,也可以扩展使用分布式缓存。然而,由于之前已经有System.Web.Caching.Cache这个缓存对象的存在,让我一直对.NET 4.0的新的Cache和原来已存在的System.Web.Caching.Cache的关系产生了一定的迷惑。.. 阅读全文
一起谈.NET技术,WPF 基础到企业应用系列5——WPF千年轮回2
2011-08-29 19:30 by 狼人:-), 263 阅读, 收藏, 编辑
摘要:
一,摘要 首先很高兴这个系列能得到大家的关注和支持,前端时间身体状况不适,所以暂停了更新,对此表示非常抱歉,以后会逐渐加快进度,不过由于这是一个很长的系列,我也想把它写好,所以以后也会慢慢来,在这个系列的过程中也会穿插发一些其他文章,比如Windows Azure、设计模式、WCF、Silverlight等,同时也会发一些自己的技术随感和心得,反正只要自己写得开心且对大家有帮助就行。由于自己才疏学浅且是对这些技术的使用总结和心得体会,错误之处在所难免,怀着技术交流的心态,在这里发表出来,所以希望大家能够多多指点,这样在使一部分人受益的同时也能纠正我的错误观点,以便和各位共同提高。 这篇... 阅读全文
一起谈.NET技术,分享一些非常好用的Visual Studio扩展
2011-08-29 19:30 by 狼人:-), 237 阅读, 收藏, 编辑
摘要:
扩展管理器
Visual Studio 2010新增“扩展管理器”的功能,可用于添加、移除、启用和禁用Visual Studio扩展。我们可以从Visual Studio Gallery(Visual Studio库)网站上安装扩展,这些扩展一般是VSIX包格式,包括项目模板、项模板、工具箱项、托管扩展框架(MEF)组件和VSPackage。安装在“Visual Studio安装文件夹\Common7\IDE\Extensions\Company\Product\Version\"文件夹中。 在这篇文章中分享我在使用的一些非常炫的扩展。
Visual Studio 2010 Pro 阅读全文
一起谈.NET技术,.Net Framework源代码中的模式之Prototype(原型模式)
2011-08-29 19:30 by 狼人:-), 218 阅读, 收藏, 编辑
摘要:
用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。 以.NET Framework 2.0 System.Collections中类为例。 System.Collections. ICollection public interface ICollection : IEnumerable{} System.Collections. ICloneable public interface ICloneable{ object Clone();} System.Collections. Stack public class Stack : ... 阅读全文
一起谈.NET技术,.Net Framework源代码中的模式之Decorator(装饰模式)
2011-08-29 19:30 by 狼人:-), 219 阅读, 收藏, 编辑
摘要:
动态地给一个对象添加一些额外的职责。就扩展功能而言,Decorator模式比生成子类方式更为灵活。 以.NET Framework 2.0 System.IO中类为例。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->System.IO.Streampublic abstract class Stream : MarshalByRefObject, IDisposable{ public abstract int Read([I... 阅读全文
一起谈.NET技术,WPF/Silverlight深度解决方案:目录
2011-08-29 19:30 by 狼人:-), 170 阅读, 收藏, 编辑
摘要:
介于目前WPF/Silverlight技术资料在国内相当稀缺,仅有的也是一些很基础的教程。为了更深度的剖析WPF/Silverlight的技术内涵,解决开发过程中的疑难杂症,分解实际应用案例的特色细节,“WPF/Silverlight深度解决方案”系列由此孕育而生。整个系列的所有文章均为原创,由本人的个人开发经验结合相关资料编写而成,过程中难免有错漏或不妥当的地方还望各位读者友善的指出。我们的目标只有一个:WPF/Silverlight技术深度挖掘。如果您有符合本系列主题的内容想要与大家分享讨论,也欢迎留言给我,我会尽我的全力为大家探索与解答。 另外关于本系列文章的几点说明: 1)所... 阅读全文
一起谈.NET技术,用lambda去除Magic-String
2011-08-29 19:30 by 狼人:-), 266 阅读, 收藏, 编辑
摘要:
string是我们的朋友。我们离不开string,但是有时候string也挺烦人的。
比如说,下面的代码,根据方法名来获取MethodInfo: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->var info = typeof (DateTime).GetMethod("ToShortDateSting");Console.WriteLine(info.Name); 进行“Rename Method”重构时,重构工具是不 阅读全文
一起谈.NET技术,浅谈ASP.NET MVC
2011-08-29 19:30 by 狼人:-), 168 阅读, 收藏, 编辑
摘要:
在正式的工作中使用ASP.NET MVC也有一阵子了,也看了听了很多关于ASP.NET MVC别人的想法和代码,我认为很多人对于它的理解是错误的。
在这里我只谈谈对ASP.NET MVC我的一些想法,希望大家多多讨论。
1. ASP.NET MVC区别于ASP.NET在于设计理念
我听过的关于ASP.NET MVC的第一个看法是ASP.NET MVC最大的特点在于Controller和View的分离,当时我还不懂ASP.NET MVC是什么东西,但是当我第一眼看到这个框架时,我就认为这个观点是错误的,我认为ASP.NET MVC最大的特点,也是最大的优点是由Controller来驱动整个项目的 阅读全文
一起谈.NET技术,Asp.net mvc 2中使用Ajax的三种方式
2011-08-29 19:30 by 狼人:-), 191 阅读, 收藏, 编辑
摘要:
在Asp.net MVC中,我们能非常方便的使用Ajax。这篇文章将介绍三种Ajax使用的方式,分别为原始的Ajax调用、Jquery、Ajax Helper。分别采用这三种方式结合asp.net mvc去实现一个史上最简单的留言板。 首先看一下原始的Ajax的调用的: 定义CommentController,代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public class CommentController : Con. 阅读全文
一起谈.NET技术,.Net Framework源代码中的模式——前言
2011-08-29 19:30 by 狼人:-), 179 阅读, 收藏, 编辑
摘要:
随着Visual Studio 2008的发布,微软根据MS-RL协议向开发人员提供了.NET Framework的源代码,包括基础类库 (BCL)、 ASP.NET、 WinForms和WPF等代码。.NET Framework是.NET平台的基础架构,都开放源代码,为开发人员更加深入研究.NET 技术细节提供了极大便利,也为开发人员如何构建一个优秀的软件开发框架提供了很好借鉴。 构建一个优秀的软件开发框架,必然会使用设计模式。.NET Framework作为一个优秀的软件开发框架,设计模式无处不在,通过分析这些代码,为我们正确使用设计模式提供很大帮助。 首先理解框架和模式的相关... 阅读全文
一起谈.NET技术,WPF 自定义快捷键命令(Command)
2011-08-29 19:30 by 狼人:-), 475 阅读, 收藏, 编辑
摘要:
命令简介 WPF 中的命令是通过实现 ICommand 接口创建的。ICommand 公开两个方法(Execute 及 CanExecute)和一个事件(CanExecuteChanged)。Execute 执行与命令关联的操作。CanExecute 确定是否可以在当前命令目标上执行命令。如果集中管理命令操作的命令管理器检测到命令源中发生了更改,此更改可能使得已引发但尚未由命令绑定执行的命令无效,则将引发 CanExecuteChanged。ICommand 的 WPF 实现是 RoutedCommand 类。 WPF 中的主要输入源是鼠标、键盘、墨迹和路由命令。更加面向设备的输入使用 ... 阅读全文
一起谈.NET技术,服务器日志法网站分析的原理及优缺点
2011-08-29 19:30 by 狼人:-), 194 阅读, 收藏, 编辑
摘要:
【前言】 应朋友们的要求,我还是写一篇关于服务器日志法进行网站分析的原理以及它的优缺点是什么。请朋友们注意,网站服务器日志法并不容易进行,初学者,以及在绝大多数情况下,进行以用户行为分析为核心的网站分析,用不到服务器日志法。不过,作为网站分析历史不可分割的一部分以及重要的基础篇章,服务器日志法仍然值得一书。下面的这篇文章也是我要撰写的书中截取的内容(我要快马加鞭快快写了,已经辜负了太多朋友的重托,抱歉抱歉!)。 【正文】 网站分析收集数据的方式其实有五、六种之多,我们最常见的有三种,分别是:服务器日志(Server Log)、页面标记(Page Tag)和客户端监测软件收集(Cl... 阅读全文
一起谈.NET技术,WPF 基础到企业应用系列4——WPF千年轮回
2011-08-29 19:30 by 狼人:-), 226 阅读, 收藏, 编辑
摘要:
1.开篇前言 首先很高兴这个系列能得到大家的关注和支持,基于对大家负责和对自己负责的态度,我会不断努力写好这个系列,分享自己的微薄技术和经验,希望在帮助别人的同时也不断提升自己。由于这篇文章很多(现已拆分成2篇,今天这篇只是其中之一),一共花了几个个晚上的休息时间才完成,所以读者花的时间长了一些,也希望大家能够见谅,这个系列以后会每周发三到四篇左右(主要是写一篇差不多要花几晚上,感觉思维比较发散),除了讲WPF技术本身之外,也会讲一些项目具体开发,所以敬请关注。 本篇文章取名为WPF千年轮回只因为两个原因: WPF和当年Win32、WinForm等的到来颇为相似,只是在功能和体验上上进... 阅读全文
一起谈.NET技术,WPF 基础到企业应用系列2——WPF前世今生
2011-08-29 19:30 by 狼人:-), 214 阅读, 收藏, 编辑
摘要:
1.开篇前言 很多时候了解一项新技术的历史和趋势往往比这项技术的本身价值还要重要。WPF作为一项新技术(已经三年多了,或者应该叫老技术了),我们都有必要了解它的来龙去脉,尤其是公司的CTO、技术总监、架构师等决策层,因为他们对技术的选型及应用具有决定权。对于开发者来说,了解自己正在从事的这个技术的前世今生,有助于我们更好的认识技术本身的价值,也可以避免我们少走一些弯路(圣殿骑士就走过很多弯路,所以对此比较感慨)。从IT技术发展的这些年可以看出,技术对于各大公司只是竞争的一种手段,而对于大多数程序员来说技术就是特饭碗甚至于生命,所以大家站的立场不同,也会形成各自不同的观点。放眼现在的全球IT.. 阅读全文
一起谈.NET技术,Linq To SQL 批量更新方法汇总
2011-08-29 19:30 by 狼人:-), 914 阅读, 收藏, 编辑
摘要:
方法一、官方例子
地球人都知道的,也是不少 Linq To SQL 反对者认为效率低下的一种方法。
NorthwindDataContext db = new NorthwindDataContext();
var customers = db.Customers.Where(c => c.CustomerID.StartsWith("BL"));
foreach (var customer in customers)
{ customer.Address = "Guangzhou"; customer.ContactName = "Co 阅读全文
一起谈.NET技术,.Net线程问题解答
2011-08-29 19:30 by 狼人:-), 216 阅读, 收藏, 编辑
摘要:
基础篇 怎样创建一个线程 受托管的线程与 Windows线程 前台线程与后台线程 名为BeginXXX和EndXXX的方法是做什么用的 异步和多线程有什么关联 WinForm多线程编程篇 我的多线程WinForm程序老是抛出InvalidOperationException ,怎么解决? Invoke,BeginInvoke干什么用的,内部是怎么实现的 每个线程都有消息队列吗? 为什么Winform不允许跨线程修改UI线程控件的值 有没有什么办法可以简化WinForm多线程的开发 线程池 线程... 阅读全文
一起谈.NET技术,WPF 基础到企业应用系列3——WPF开发漫谈
2011-08-29 19:30 by 狼人:-), 196 阅读, 收藏, 编辑
摘要:
1.开篇前言 首先很高兴这个系列能得到大家的关注和支持,基于对大家负责和对自己负责的态度,我会不断努力写好这个系列,分享自己的微薄技术和经验,希望在帮助别人的同时也不断提升自己。由于这篇文章稍多,所以读者花的时间长了一些,也希望大家能够见谅,这个系列以后会每周发三到四篇左右(主要是写一篇差不多要花几晚上,感觉思维比较发散),除了讲WPF技术本身之外,也会讲一些项目具体开发,所以敬请关注。在前两次的文章中我们对WPF有了一个比较全面的认识,那么在本篇文章当中,除了讲一些理论知识外,我们会从实际的开发中进行讲解,用理论和代码的形式来诠释WPF的简单开发过程。 2.本文提纲 · 1.开篇前 阅读全文
一起谈.NET技术,可选参数在.NET中全面开花
2011-08-29 19:30 by 狼人:-), 187 阅读, 收藏, 编辑
摘要:
.NET一直都支持可选参数,但是C#语言却并不支持,除了调用COM库以外,可选参数通常是被禁止使用的。现在,随着C# 4对可选参数的支持,我们可以看到可选参数被越来越多的使用,而不仅仅限于遗留代码中。这些应用包括与动态语言的互操作、只读数据类型,以及ASP.NET MVC中的许多地方。 显然,COM仍然是可选参数的主要用武之地。例如,当你使用Office库时,某个函数可能会有超过20个参数,手动指定每一个参数是非常不方便的。如果再没有辅助的标记,你就只能通过数参数的个数来确定哪个值对应的是哪个参数了,这非常容易出错。对于不熟悉COM的人,你可以想象一下从前主流语言不支持函数重载时的情景... 阅读全文
一起谈.NET技术,.net其实也可以不拖控件的......
2011-08-29 19:30 by 狼人:-), 164 阅读, 收藏, 编辑
摘要:
随着时代的进步,说.net就是拖拖控件的人越来越少了,作为一个抱有"就是喜欢拖控件"想法的人,我还是不得不研究一下完全没有IDE的情况下怎么生存。 国内的大部分无知而浅薄的".net程序员",完全是被横行的盗版IDE惯坏了。VS的确提供了一条生成和组织程序的捷径,但是它并没有把正路堵死。 这里我就来说说如何像编写linux程序那样编写.net程序 俗话说巧妇难为无米之炊,即使我们想要像Linux程序员那样写程序,首先我们还是要下载一套最新版SDK 最新版 Microsoft Windows SDK for Windows 7 and .NET Frame 阅读全文
一起谈.NET技术,VS2010技巧:如何在js文件中使用jQuery智能感知
2011-08-29 19:30 by 狼人:-), 146 阅读, 收藏, 编辑
摘要:
在VS2010中,先打开相应的js文件,然后将Scripts目录中jQuery文件拖动到该js文件中。 阅读全文
一起谈.NET技术,重温数据库访问——故事篇
2011-08-29 19:30 by 狼人:-), 131 阅读, 收藏, 编辑
摘要:
本文想借用故事的方式来说一下ADO.net的工作方式。虽然现在都ORM了,但是了解一下ADO.net还是有必要的。 在茫茫的大海上有许多的岛,其中一个岛的名字叫做“应用程序岛”。这座岛上商业非常发达,高楼大厦、店铺林立。但是岛的面积不够大,没有地方建立仓库。所以市长决定,把临近的一座小岛开发出来,专门作为数据仓库来使用,这座岛的名字就叫“数据库岛”。 市长在数据库岛上面建立了一个MSSQL数据库,这样各个商场、超市就可以把自己的货物放进去了。两个岛相邻很近,为了便于运输,所以直接在两个岛之间建立了五座大桥。并且成了一个“数据访问池”的部门来专门管理这五座桥。 有一个叫comma... 阅读全文
一起谈.NET技术,Visual Studio 2010 Web项目的jQuery版本升级方案
2011-08-29 19:30 by 狼人:-), 300 阅读, 收藏, 编辑
摘要:
我们知道在Visual Studio 2010的非空Web项目(含Webform和MVC)中,都自动包含了jQuery库在项目的Scripts文件夹中。 但细心的人们都看到了正式版中包含的jQuery版本是1.4.1版,而不是jQuery官方最新发布的1.4.2版。处于新版效率的极大提升以及部分bug的修复,推荐大家跟新使用1.4.2版,而放弃1.4.1版。单个项目的调整比较简单就是把旧版本的删除,然后添加上1.4.2版的相应文件即可。但我们很多人可能更希望是以后创建的项目都是1.4.2版而不是1.4.1版,怎么办呢?我在相关的webcast中有提到过,即到vs2010的安装目录中修改项目.. 阅读全文
一起谈.NET技术,Application、Session、Cookie、ViewState、Cache、Hidden的区别
2011-08-29 19:30 by 狼人:-), 149 阅读, 收藏, 编辑
摘要:
方法 信息量大小 作用域和保存时间 应用范围 保存位置 Application 任意大小 整个应用程序的生命期 整个应用程序/所有用户 服务器端 Cache 任意大小 可以根据需要设定 整个应用程序/所有用户 服务器端 Session 小量,简单的数据 用户活动时间+一段延迟时间(一般为20分钟) 单个用户 服务器端 Cookie 小量,简单的数据 可以根据需要设定 单个用户 客户端 Viewstate 小量,简单的数据 一个Web页面的生命期 单个用户
... 阅读全文
一起谈.NET技术,使用Brahma在GPU上执行LINQ
2011-08-29 19:30 by 狼人:-), 213 阅读, 收藏, 编辑
摘要:
Brahma是一个用于并行计算的开源库,它由C#编写并支持在多种处理器上运行。目前,Brahma仅包含一个图形处理器(GPU)模块,但是它的模块化结构可以支持更多种类的处理器。使用Brahma,同一个C#方法中的语句可以同时运行在CPU和GPU上,而不需要额外的代码。
Brahma通过将LINQ语句转换成目标处理器代码来执行并行计算,所生成的代码会跟据目标处理器的不同而不同。例如针对DirectX会生成High Level Shading Language,而针对OpenGL则会生成OpenGL Shading Language。为了提高性能,LINQ查询仅被编译一次,然后根据需要多次运行
. 阅读全文
一起谈.NET技术,使命必达:深入剖析WCF的可靠会话
2011-08-29 19:30 by 狼人:-), 176 阅读, 收藏, 编辑
摘要:
作为一个通信基础平台,WCF必须保证通信的可靠性。由于消息交换是WCF采用的通信手段,通信可靠性的保障体现在确保消息的可靠传输。WCF本质上是一个消息处理框架,作为整个消息交换系统的两个终端,即发送端和接收端。换句话说,WCF仅仅负责对消息的发送和接收,一旦消息通过WCF的信道层进入了网络,就脱离了WCF的控制范围。但是,由于网络环境的限制,网络层不能百分之百地确保对消息的有效交付。如何克服中间环节的制约,确保从一端发送的消息能够被有效地交付给另一端,这就是可靠消息传输(Reliable Messaging)需要解决的问题。WCF通过可靠会话(Reliable Sessions)实现了种种.. 阅读全文
一起谈.NET技术,HTTP协议及POST与GET操作差异,C#中如何使用POST、GET等
2011-08-29 19:30 by 狼人:-), 283 阅读, 收藏, 编辑
摘要:
引言
HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来。但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状态有哪些?以及在C#中你如何使用?如果你不能清楚地回答其中的大部分问题,那么这篇文章就是为你准备的!大纲如下: 1、HTTP概述 1.1、HTTP协议的客户端与服务器的交互
1.2、HTTP消息
1.3、HTTP请求的方法
1.4、HTTP响应的代码 2、抓包分析
3、POST与GET的差异
4、以一个实例说明C#中如何使用POST、GET等操作 4.1、HttpWebRequest
4... 阅读全文
一起谈.NET技术,.NET中通过代理实现面向方面编程(AOP)
2011-08-29 19:30 by 狼人:-), 299 阅读, 收藏, 编辑
摘要:
上篇文章我说到了在代码中可以利用泛型委托来封装异常处理,这样可以让程序看起来更加清晰,要想完成功能需要调用者调用指定的工厂方法才行,但要想改变某些程序员的编码习惯我想是一件比较困难的事情。有朋友说利用委托来实现异常处理并不算是真正意义上的AOP,因为传统的AOP并不需要客户端做代码结构的变更,最多也就是配置上的问题。但在.net中要想实现AOP,我想最方便的实现机制要属代理机制了,但只要利用代理,在性能上就会造成一定的影响。 如果开发过分布式服务,像remotion,wcf等,消息都是它们通信的重要手段。客户端通过方法调用形式体现的服务访问需要转换成具体的消息,然后经过编码才能利用传输... 阅读全文
一起谈.NET技术,敏捷开发的26条至理名言
2011-08-29 19:30 by 狼人:-), 161 阅读, 收藏, 编辑
摘要:
我经常收集各种各样的至理名言,最近我重温敏捷开发;真正的问题是什么?下面是一份26条关键原则的清单,以指引敏捷软件开发团队。 1、完整地干完一件事后在开始另一件事:用厨房比喻来说就是:“先上这道菜,再开始做下一道”。软件开发的最大问题就是同时开始几件事情,这将不可避免的造成某些工作被废弃,从而造成浪费。专注于一件事;完整地实现其功能;运行测试;编写文档;签入所有,把这当做一项工作完成,然后再开始下一件事。 2、不要破坏构建:非常明显,但必须被包含在任何软件开发建议清单中。程序员在签入之前采取所有合适的预防措施进行测试,则永远不会破坏构建。如果构建被破坏,通常是因为有人偷懒了。 ... 阅读全文
一起谈.NET技术,利用AOP重构代码
2011-08-29 19:30 by 狼人:-), 280 阅读, 收藏, 编辑
摘要:
AOP是什么? AOP是OOP的延续,Aspect Oriented Programming的缩写,即面向方面编程。AOP是GoF设计模式的延续,设计模式追求的是调用者和被调用者之间的解耦,AOP也是这种目标的一 种实现。 案例:在应用程序中,我们经常会对某一段程序做异常处理,或者是把一个方法的调用所消耗的时间体现在日志中,如果我们对每个方法都写具体的实现,我想并不是一件轻松的事情。对于异常处理来讲,其实我们平常编程很少去捕获具体的异常,当然特殊程序除外,例如客户端捕获WCF异常时最好捕获CommunicationException,TimeoutException,Excep... 阅读全文
一起谈.NET技术,你是个软件架构师吗?
2011-08-29 19:30 by 狼人:-), 258 阅读, 收藏, 编辑
摘要:
开发和架构的界限难以捉摸。有些人告诉你它根本不存在,架构只是开发者们所做的设计过程的简单扩展。 另外一些人认为这是一个鸿沟,它只能由那些做到高度抽象,而且不会陷入实现细节的开发者才能跨越。通常,在这两个极端的观点中间某处有个可操作的平衡点;不论如何,怎么从开发转换为架构师都是个有趣的问题。 经常被用来区分软件架构和软件设计开发的关键几点包括 伸缩性和抽象程度的增加以及作出正确设计决策意义的增强。软件架构是通过一个全局的观点,宏观的视角来理解软件系统作为一个整体如何工作。 即使这能够帮助区分软件开发和架构,它并不能帮助理解某人如何从开发提升到架构。 并且,它也不能帮助识别谁能够成为一... 阅读全文
一起谈.NET技术,Silverlight 4.0发布之际,让我们重新再认识一次Silverlight这位乱世英雄!
2011-08-29 19:30 by 狼人:-), 155 阅读, 收藏, 编辑
摘要:
Microsoft Silverlight是微软所发展的 Web 前端应用程序开发解决方案,是微软丰富型互联网应用程序Rich Internet Application(简称RIA)策略的主要应用程序开发平台之一,以浏览器插件形式,提供 Web 应用程序中多媒体(含影音流与音效流)与高度交互性前端应用程序的解决方案,同时它也是微软 UX(用户体验)策略中的一环。 Silverlight与WPF的关系? 在理解Silverlight之前,需要先了解WPF为何方神圣,并在一定程度上深入理解WPF的原理及Dispatcher机制。Windows 7、Visual Studio 201... 阅读全文
一起谈.NET技术,重新认识C#: 玩转指针
2011-08-29 19:30 by 狼人:-), 229 阅读, 收藏, 编辑
摘要:
许多文章并不鼓励在C#下使用指针开发,不过,本文偏偏要这样做。在大量尝试C#下使用指针开发之后,你会对C#有更深的认识。 在说C#下的指针之前,需要提一下C++/CLI。C++/CLI 我们可以把它看作两部分:Native C++和 Managed C++,两者可以无缝结合。对C#,我们也可以把它看作两部分:Managed C# 和 Unmanaged C#。Managed C# 和 Unmanaged C# 是我杜撰的两个词,前者就是我们通常的C#,后者就是使用指针、Struct和非托管内存的C#。事实证明,Unmanaged C#也可以玩的十分优雅——它具有C语言的大部分特性,却比... 阅读全文
一起谈.NET技术,.NET 4九大新特性
2011-08-29 19:30 by 狼人:-), 269 阅读, 收藏, 编辑
摘要:
英文原文:What's New in the .NET Framework 4 本文将向您介绍.NET Framework 4中的主要功能和改进特征。请注意,本文中并没有提供有关这些新功能的综合信息,并随时可能更改。 请注意,.NET Framework 4引入了一个改进的安全模式。有关该内容的更多的信息,请参阅文章《.NET Framework 4中的安全变化》。 一、应用程序兼容性和部署 除了一些在安全、标准遵从、正确性、可靠性及性能等方面的改进之外,.NET Framework 4与基于早期.NET框架版本构建的应用程序高度兼容。 .NET Framework 4... 阅读全文
一起谈.NET技术,2010 .NET面试题整理之基础篇
2011-08-29 19:30 by 狼人:-), 252 阅读, 收藏, 编辑
摘要:
开篇语:对于已有工作经验的朋友,也许面试题已显得不怎么重要,但是如果你应聘的还仅仅是个普通的程序员,相信在很多的公司都还是会先拿出一套面试题,可能对整个面试影响不大,但做好面试题无疑会赢得第一个好的印象,特别对于那些缺少项目经验的应届毕业生。很多时候,在看这些面试题的时候,是否有感过曾经那些一个个不起眼的小程序题所针对的问题正是自己在项目中所犯的错误?是否会发现,原来还有这么多东西自己都还从未去想过?趁自己这次重新找工作之际,对常见面试题进行进行一次重新整理,与大家共同学习!本贴将会进行不断完善和继续更新,有些答案可能并不完全正确,希望能得到大家的指正。
接下来还将整理出:数据库篇、算法篇、. 阅读全文
一起谈.NET技术,从WPF想开去
2011-08-29 19:30 by 狼人:-), 124 阅读, 收藏, 编辑
摘要:
一看,又4个月没发文章了,这4个月除去春节奔波,基本上一直在加班,在中国做程序员总是与外国同行不一样,起跑线上输得很厉害。其实按照《人件》统计,程序员一天如果能顺流超过3个小时,基本上就可以秒杀绝大多数问题了。问题是在我们现行的工作环境下,经常是一天连一分钟顺流都进入不了,必须是各种打扰,各种打断,看似提升了效率,事实上是降低了效率。而且,绝大多数时间,我们可能花在了调试错误上,而非本身的逻辑问题上。这样,一天比老外多工作几个小时——以完成同样的目的——就是很正常的了。 呵呵,说着要说WPF的,怎么发了一堆牢骚,其实论环境,比起很多人来,我可能已经是蒙受了很多恩惠了。每天至少有一些充电... 阅读全文
一起谈.NET技术,ASP.NET MVC 2示例Tailspin Travel UI层分析
2011-08-29 19:30 by 狼人:-), 266 阅读, 收藏, 编辑
摘要:
Tailspin Travel 是一个旅游预订的应用程序示例,最新版本采用ASP.NET MVC 2技术构建,主要使用 DataAnnotations 验证, 客户端验证和ViewModels,还展示了许多Visual Studio 2010, .NET Framework 4, 和Windows Server AppFabric的技术,参看ASP.NET MVC 2示例Tailspin Travel。 Tailspin Travel设计的技术比较多,今天我们来看看界面(UI)上的技术,在UI层上来说主要采用的技术是ASP.NET MVC2和ASP.NET DynamicData框架。... 阅读全文
一起谈.NET技术,中软面试题-最新
2011-08-29 19:27 by 狼人:-), 547 阅读, 收藏, 编辑
摘要:
中软的面试比较经典,也比较严格,一般有四轮,类似于微软的面试。中软面过以后,根据项目组,会推到美国微软那边运用live meeting & con-call 再面一次。以下是我的面试题及个人的小分析,拿出来和大家share一下。希望更多的人能过这个坎。如有什么问题,可以一起交流。直接进入主题:
1. English communication. (sale yourself, project information, your interesting,and how to deal with problem you encounter etc.)
2. the using of key 阅读全文
一起谈.NET技术,JavaScript 调用 ASP.NET WebService 的简单方法
2011-08-29 19:27 by 狼人:-), 277 阅读, 收藏, 编辑
摘要:
客户端 JavaScript 调用 ASP.NET WebService 的方法除了采用 WebServer.htc 和构造 SOAPAction 的方法外,下面介绍一个采用 Ajax调用的简单方法,并且可以传递参数。其实,ASP.NET WebService 就是一个网站,所以,Request 对象是可用的,这样,传递参数就很容易了。下面是一个WebService1.asmx的代码: ASMX 代码:
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.c... 阅读全文
一起谈.NET技术,WPF Multi-Touch 开发:基础触屏操作(Raw Touch)
2011-08-29 19:26 by 狼人:-), 552 阅读, 收藏, 编辑
摘要:
多点触控(Multi-Touch)就是通过与触屏设备的接触达到人与应用程序交互的操作过程。例如,生活中经常使用的触屏手机、触屏笔记本、显示器以及微软最新的Surface 产品等这些都属于触屏操作设备。本篇将介绍如何开发能够支持MT 功能的应用程序。 在WPF 4 中已经具备的多点触控开发技术,当多个手指触碰到触屏设备时,WPF 会把每跟手指认为是一个触控设备,并为其分配唯一的识别ID,以便跟踪不同手指的操作手势。下面将通过实例演示WPF 所支持的低级别触控操作:触碰(TouchDown)、分离(TouchUp)、移动(TouchMove),它们都是一些最基础的操作模式。 创建项目
... 阅读全文
一起谈.NET技术,构建高性能ASP.NET站点之三 细节决定成败
2011-08-29 19:26 by 狼人:-), 165 阅读, 收藏, 编辑
摘要:
前言:曾经就因为一个小小的疏忽,从而导致了服务器崩溃了,后来才发现:原来就是因为一个循环而导致的,所以,对“注意细节“这一说法是深有感触。 问题的描述 首先,描述一下故事的背景:(希望大家耐心的故事读完) 在网站中,网页中的分页控件每次显示10条数据,每次点击下一页,就再次去取下一个10条数据。至于分页的方法怎样做,方法有很多,相信这点大家都知道。 过程是这样的:在用户请求数据的时候(考虑到了用户的操作和网站的访问量)我会第一次取出500条数据,然后把数据放在缓存中,也就是说,我取出了50页的数据,放在缓存中,这样如果,以后用户请求第一页到第49页的时候,就直接从缓存中拿数... 阅读全文
一起谈.NET技术,LINQ to SQL快速上手 step by step
2011-08-29 19:26 by 狼人:-), 191 阅读, 收藏, 编辑
摘要:
前言 最近接连遇到几个朋友问我同一个问题,就是关于.NET平台上ORM框架的选择。我想在这个讲求效率的时代,谁也不想手写SQL或存储过程去访问数据库了。大家都知道,在Java平台上,ORM这一块基本是Hibernate的天下。当然,相对轻量级的iBatis也有不错的表现。 不过谈到.NET平台,ORM框架似乎相对混乱了点。很多朋友问我的时候,往往会这样问:NHibernate、NBear和Castle该选择哪个?而当我反问:为什么不适用微软自带的Linq to Sql呢?对方经常会迷茫和不解。 我觉得这是个很奇怪的现象。依照我个人的实践,我认为当需要快速构建一个中小型项目时,Linq t... 阅读全文
一起谈.NET技术,.NET4.0的可扩展缓存系统
2011-08-29 19:26 by 狼人:-), 429 阅读, 收藏, 编辑
摘要:
.NET Framework中,叫做System.Runtime.Caching,这不仅是个缓存库,还是个框架,可以在上面开发自己的库。ObjectCache定义了所有缓存都要实现的通用操作。与之搭配的是个内存缓存实现,叫做MemoryCache。这个缓存系统的结构如下: 上图大家可以看出来对应那些产品了吗? 下面我给大家介绍一个实现这样一个架构的代码示例,代码的核心就是ObjectCache,定义一个抽象的Provider接口: 1: public interface ICacheBuilder 2: { 3: ObjectCache Get... 阅读全文
一起谈.NET技术,WebForm:毒药还是利器?
2011-08-29 19:26 by 狼人:-), 498 阅读, 收藏, 编辑
摘要:
一、Webform的诞生及运行机制,web开发带来的革命性变化 九十年代中期,Internet崭露头角。为了进军Web应用程序行业,微软开发了Active ServerPages(ASP)。ASP是开发Web页面的一种快速、简便的方式。ASP页面由一个页面组成,其中包含了标记和语言的混合。ASP的强大之处在于,在页面发送给终端用户的Web浏览器之前,可以在页面上包含在Web服务器上执行的VBScript或JScript代码指令。这是创建动态Web页面的一种简单方式,动态Web页面可以根据开发人员规定的参数进行定制。 随着时间的推移,ASP页面上需要放置越来越多的HTML、VBS... 阅读全文
一起谈.NET技术,如何对ASP.NET进行性能优化
2011-08-29 19:26 by 狼人:-), 182 阅读, 收藏, 编辑
摘要:
一、SqlDataRead和Dataset的选择 Sqldataread优点:读取数据非常快。如果对返回的数据不需做大量处理的情况下,建议使用SqlDataReader,其性能要比datset好很多。缺点:直到数据读完才可close掉于数据库的连接。 (SqlDataReader 读数据是快速向前的。SqlDataReader 类提供了一种读取从 SQL Server 数据库检索的只进数据流的方法。它使用 SQL Server 的本机网络数据传输格式从数据库连接直接读取数据。DataReader需及时显式的close。可及时的释放对数据的连接。) Dataset是把数据读... 阅读全文
一起谈.NET技术,.NET 3.x新特性之自动属性及集合初始化
2011-08-29 19:26 by 狼人:-), 266 阅读, 收藏, 编辑
摘要:
今天公司弄了个VS2008 beta 2中文版,虽然很大一部分是为了JS的智能提示外,也应该好好的温习一下.NET的一些新特性,由于以前写过一些文章,但是都没有系统的学过,都只是尝一下新鲜感。不知道从那开始,所以今天就来看看自动话属性,以及对象初始化和集合初始化的一些新特性。 1.自动属性 在做一个程序是我们离不开属性,特别是实体类。我们用指头一个一个的敲着get和set及局部的变量(Fields),现在可好不用在重复敲那些东东了我们只要用到get和set,就和我们的接口声明差不多了,是不是很happy。 OK看个例子先,在.NET 2.0下我们声明一个实体类要有如下做法,这... 阅读全文
一起谈.NET技术,ASP.NET MVC之视图引擎
2011-08-29 19:26 by 狼人:-), 232 阅读, 收藏, 编辑
摘要:
最近微软发布了另外一个在ASP.NET MVC上应用的视图引擎Razor。通过前面一系列的探讨,我想大部分都了解了ASP.NET MVC整个的原理,包括TempData、ViewData、ModelBinding、Filter等,但是我们还不是太了解它的视图引擎的情况。ASP.NET MVC的视图引擎具有非常好的扩展性,我们可以使用其它的视图引擎代替WebForm,或是同时使用多种试图引擎,这些都得益于ASP.NET MVC精美的设计,下面我们一起来观赏一下它的设计。 内容概览: ActionResult做了什么?
最具代表性的ViewResult
ASP.NET MVC的视图引擎... 阅读全文
一起谈.NET技术,WPF Multi-Touch 开发:Windows 7 安装多点触屏模拟器
2011-08-29 19:26 by 狼人:-), 338 阅读, 收藏, 编辑
摘要:
本系列将介绍Multi-Touch(MT)多点触控技术的相关内容,使开发人员了解如何在Windows 平台中开发出具有MT 功能的应用程序。众所周知Windows 7 操作系统自身已经支持具有MT 功能的硬件设备, 画板程序(Paint)就是一个很好的例子,如果你的显示设备具有MT 功能,便可以用两个手指同时在画板中绘制不同的图案。 作为开发者对MT 应用程序进行测试的时候,当然需要MT 硬件设备的支持,否则我们无法判断程序是否能够正常运行。虽然现在市面上的MT 设备已经很多,但价格也都不菲。如果没有多点触控设备能否进行MT 程序的开发与测试呢? 答案当然是可以的,下文将... 阅读全文
一起谈.NET技术,Silverlight实例教程 - Out of Browser与COM互操作实例
2011-08-29 19:26 by 狼人:-), 207 阅读, 收藏, 编辑
摘要:
Silverlight 实例教程索引 Silverlight 实例教程 - Out of Browser开篇
Silverlight 实例教程 - Out of Browser配置,安装和卸载
Silverlight 实例教程 - Out of Browser的自定义应用
Silverlight 实例教程 - Out of Browser存取本地文件系统
Silverlight 实例教程 - Out of Browser与COM的交互基础
Silverlight 实例教程 - Out of Browser与Office的互操作
Silverlight 实例教程 - Out of Brow... 阅读全文
一起谈.NET技术,关于c#静态方法和实例方法的辨析和应用
2011-08-29 19:26 by 狼人:-), 364 阅读, 收藏, 编辑
摘要:
本文将围绕c#静态方法和实例方法讨论一下。针对一些观点,如:"静态方法是常驻内存", 还有"静态方法比实例方法先装载",做一个辨析。同时讨论下何时用静态方法,何时用实例方法。 前几日,在微软的好友发给我一个链接:《静态方法和实例化方法之间的区别你知道了嘛? 欢迎讨论!! - 问题最终 ...》,然后说这里某些观点需要澄清一下,希望我写一篇blog。我当时读了这篇blog. 文比较短,列举了静态方法和实例方法的几种案例,也没有论点,然后就请大家讨论。后面评论就比blog热闹多了。言辞也激烈,后来该blog作者干脆把这篇blog删了。现在已经看不到这篇blo 阅读全文
一起谈.NET技术,Silverlight实例教程 - Out of Browser在线更新和Silent安装
2011-08-29 19:26 by 狼人:-), 171 阅读, 收藏, 编辑
摘要:
Silverlight 实例教程索引 Silverlight 实例教程 - Out of Browser开篇
Silverlight 实例教程 - Out of Browser配置,安装和卸载
Silverlight 实例教程 - Out of Browser的自定义应用
Silverlight 实例教程 - Out of Browser存取本地文件系统
Silverlight 实例教程 - Out of Browser与COM的交互基础
Silverlight 实例教程 - Out of Browser与Office的互操作
Silverlight 实例教程 - Out of Brow... 阅读全文
一起谈.NET技术,Silverlight实例教程 - Out of Browser音乐播放器
2011-08-29 19:26 by 狼人:-), 208 阅读, 收藏, 编辑
摘要:
Silverlight 实例教程索引 Silverlight 实例教程 - Out of Browser开篇
Silverlight 实例教程 - Out of Browser配置,安装和卸载
Silverlight 实例教程 - Out of Browser的自定义应用
Silverlight 实例教程 - Out of Browser存取本地文件系统
Silverlight 实例教程 - Out of Browser与COM的交互基础
Silverlight 实例教程 - Out of Browser与Office的互操作
Silverlight 实例教程 - Out of Brow... 阅读全文
一起谈.NET技术,NGuestBook架构体系及实现指南
2011-08-29 19:26 by 狼人:-), 221 阅读, 收藏, 编辑
摘要:
前几天我在我的Blog上发布了NGuestBook(点击这里下载),得到了很多反馈,在这里非常感谢大家的关注和支持。一些朋友在E-mail中提到,这个NGuestBook和我那个系列文章《基于.NET平台的分层架构实战》中讲的Demo有非常多不一样的地方,问我能不能单独写一篇文章说明一下这个新NGuestBook的架构方式和实现相关的问题。 所以我专门写下这篇文章,对这个NGuestBook的架构体系和实现进行一个简要的说明,希望本文的内容能对大家有所帮助。 有两点要特别说明:一是下面的内容中非正式的使用了UML包图,这里用UML只是为了描述一种架构,而不是建模,所以可能有很多不符合UML标. 阅读全文
一起谈.NET技术,Silverlight实例教程 - Out of Browser与Office的互操作
2011-08-29 19:26 by 狼人:-), 246 阅读, 收藏, 编辑
摘要:
Silverlight 实例教程索引 Silverlight 实例教程 - Out of Browser开篇
Silverlight 实例教程 - Out of Browser配置,安装和卸载
Silverlight 实例教程 - Out of Browser的自定义应用
Silverlight 实例教程 - Out of Browser存取本地文件系统
Silverlight 实例教程 - Out of Browser与COM的交互基础
Silverlight 实例教程 - Out of Browser与Office的互操作
Silverlight 实例教程 - Out of Brow... 阅读全文
一起谈.NET技术,Silverlight实例教程 - Out of Browser的Debug和Notifications窗口
2011-08-29 19:26 by 狼人:-), 173 阅读, 收藏, 编辑
摘要:
Silverlight 实例教程索引 Silverlight 实例教程 - Out of Browser开篇
Silverlight 实例教程 - Out of Browser配置,安装和卸载
Silverlight 实例教程 - Out of Browser的自定义应用
Silverlight 实例教程 - Out of Browser存取本地文件系统
Silverlight 实例教程 - Out of Browser与COM的交互基础
Silverlight 实例教程 - Out of Browser与Office的互操作
Silverlight 实例教程 - Out of Brow... 阅读全文
一起谈.NET技术,在ASP.NET中自动合并小图片并使用CSS Sprite显示出来
2011-08-29 19:26 by 狼人:-), 880 阅读, 收藏, 编辑
摘要:
前几天MS的ASP.NET小组推出了一个小组件:Sprite and Image Optimization Framework,用于生成Sprite CSS,及将小的图片生成一副大图。 下载地址:http://aspnet.codeplex.com/releases/view/50140 8189E6B8-FBE4-4F01-8F9F-5687C0EA9F59 下载后工程中有一个类库,一个ASP.NET WebForm示例以及一个ASP.NET MVC示例。 下面我们就看看ASP.NET MVC的示例: 图中所标记的图片都是来源于一个整张的图片: ~\App_S... 阅读全文
一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)
2011-08-29 19:26 by 狼人:-), 237 阅读, 收藏, 编辑
摘要:
发布NGuestBook的动机说明 大约在半年前,我在博客上发表了一个系列文章:《基于.NET平台的分层架构实战》。当时在讲解过程中用到了一个叫NGuestBook的案例,在那以后,有很多朋友留言或发E-mail希望能得到NGuestBook的完整源代码,以便对照文章研究学习。但是,在当时NGuestBook只是我虚拟的一个案例,并没有成型的系统和完整的源代码。 但是后来一直有很多朋友询问这个事情,所以我觉得,将那个NGuestBook做出来还是很有必要的,所以,我花了两天的时间大约做出了这个NGuestBook,现在把它发布出来,希望能给大家一些帮助。 这个NGuestBook与文... 阅读全文
一起谈.NET技术,NHibernate3.0剖析:Query篇之NHibernate.Linq自定义扩展
2011-08-29 19:26 by 狼人:-), 172 阅读, 收藏, 编辑
摘要:
系列引入 NHibernate3.0剖析系列分别从Configuration篇、Mapping篇、Query篇、Session策略篇、应用篇等方面全面揭示NHibernate3.0新特性和应用及其各种应用程序的集成,基于NHibernte3.0版本。如果你还不熟悉NHibernate,可以快速阅读NHibernate之旅系列文章导航系列入门,如果你已经在用NHibernate了,那么请跟上NHibernate3.0剖析系列吧。 NHibernate专题:http://kb.cnblogs.com/zt/nhibernate/
NHibernate官方站点:http://nhforge... 阅读全文
一起谈.NET技术,ASP.NET MVC小论
2011-08-29 19:26 by 狼人:-), 232 阅读, 收藏, 编辑
摘要:
前言 ASP.NET MVC作为微软官方的.NET平台下MVC解决方案,自诞生起就吸引了众多.NET平台开发人员的眼球。在经历了漫长Preview后,上个月微软终于发布了其beta版。应该说,通过我亲身实践,我认为这个框架的设计还是相当优秀的,至少从易用性来说,ASP.NET MVC要优于Java平台上的Struts和Struts2。使用Struts实现MVC时,除了要写一堆ActionForm、Action和ActionResult外,最头疼的莫过写于各种xml映射配置文件。Struts2虽然不用再写ActionForm,并且降低了侵入度(其实Struts2和Struts关系不大,而基本.. 阅读全文
一起谈.NET技术,Silverlight与PostgreSQL数据库的互操作(CURD完全解析)
2011-08-29 19:26 by 狼人:-), 191 阅读, 收藏, 编辑
摘要:
今天将为大家介绍如何让Silverlight使用PostgreSQL作为后台数据库以及CURD操作。 准备工作 1)建立起测试项目 细节详情请见强大的DataGrid组件[2]_数据交互之ADO.NET Entity Framework——Silverlight学习笔记[10]。 2)创建测试用数据库 使用pgAdmin III,按下图所示,创建一个名为employees的PostgreSQL数据库,建立数据表名称为Employee。(注意:处理数据库对象时,PostgreSQL的PL/pgSQL语言具有区分大小写的内在属性,数据表名和列名均需使用双引号包住,引用自链... 阅读全文
一起谈.NET技术,NHibernate3.0剖析:Query篇之NHibernate.Linq增强查询
2011-08-29 19:26 by 狼人:-), 160 阅读, 收藏, 编辑
摘要:
相关文章:NHibernate3.0剖析:Query篇之NHibernate.Linq标准查询 系列引入 NHibernate3.0剖析系列分别从Configuration篇、Mapping篇、Query篇、Session策略篇、应用篇等方面全面揭示NHibernate3.0新特性和应用及其各种应用程序的集成,基于NHibernte3.0版本。如果你还不熟悉NHibernate,可以快速阅读NHibernate之旅系列文章导航系列入门,如果你已经在用NHibernate了,那么请跟上NHibernate3.0剖析系列吧。 NHibernate专题:http://kb.cnblog... 阅读全文
一起谈.NET技术,Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放-结局(四十)
2011-08-29 19:26 by 狼人:-), 239 阅读, 收藏, 编辑
摘要:
查看本系列其他相关文章请点击:Silverlight+WCF 新手实例象棋专题索引 在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示
在Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放(三十九)中,我们实现了用户的棋谱回放,在文章的下面,我们曾留下了两个问题: 下棋者在下棋过程,要不要开放“回放”功能,如果开放,需要注意什么?
观众在回放过程中,突然又传来一个棋步,需要注意什么? 在解答这两个问题之前,我们先来解答上一篇的截图中发现的问题:
不知有没有人发现?图中有三个“炮”或三个”马“,出现这个事故的原因,
是由于在每次重置chess.Rese... 阅读全文
一起谈.NET技术,.Net下的分布式缓存(3)--如果我们没有缓存会怎么样
2011-08-29 19:26 by 狼人:-), 163 阅读, 收藏, 编辑
摘要:
上回说到了Memcached的性能问题,的确,缓存不是万能的,但没有缓存是万万不能的?还真有这么干的. PlentyofFish就是这样做的, 它也是互联网上巨头中为数不多的采用WISC(Windows + IIS + Sql server + C#)架构的网站, MS不能老拿MySpace说事, 现在当然不会放过这个机会大肆宣传, 但是讽刺的是人家根本不用那些“看起来很美”的服务器控件,与其说是使用了.Net技术不如说是借用了这个平台而已. 他们的页面输出绝大多数都是使用构造字符串要不就是Response.Write出来的,简单即是美,他们在写程序的时候即是严格遵守这个规则,反过来... 阅读全文
一起谈.NET技术,.Net下的分布式缓存--从Discuz!NT的缓存设计谈起
2011-08-29 19:26 by 狼人:-), 247 阅读, 收藏, 编辑
摘要:
最近拜读了代振军同学写的关于Discuz!NT的缓存设计的一篇文章《Discuz!NT 缓存设计简析 [原创]》,颇有些想法,姑且写在这里让大家拍砖吧。 缓存真是个好东西,在大型的系统中可以有效地提升系统的速度,此乃废话就不多说了,在.Net平台下面我把缓存从功用大致分为两类,数据对象缓存和页面输出缓存. 对于数据缓存来讲是由System.Web.Caching.Cache这个类来实现,可以从上下文对象Context.Cache 来获取这个对象的引用.而页面/控件输出缓存则是由.Net环境在运行时依据头部的缓存申明来控制缓存策略. 本文主要论证与数据缓存相关的一些应用与问题. ... 阅读全文
一起谈.NET技术,.Net下的分布式缓存(2)--实现分布式缓存同步的手段
2011-08-29 19:26 by 狼人:-), 219 阅读, 收藏, 编辑
摘要:
前不久,俺写了篇文章谈到了.Net下面的分布式缓存的一些问题,并结合DNT里面实现模式发表了一些自己的看法,近来通过学习相关的东西又有了一些新的体会, 写在这里作为分布式缓存列系文章的第二部分. 其实对于性的扩展无非是Scale Up(向上扩展)或者是Scale Out(向外扩展), 微软对此的看法是一个App的缓存最好是以它自己为物理边界进行读写,而不要放到别处去,这样带的问题可能有对象的序列化传送,反序列化,网络连接开销,跨进程的开销,对于高性能的站点来说都是不能忽视的问题.出于对这些因素的考虑微推荐的作法不是把多个应用放在一起在多台Server布署,而是将一个App划分成若干... 阅读全文
一起谈.NET技术,Discuz!NT 缓存设计简析 [原创]
2011-08-29 19:26 by 狼人:-), 224 阅读, 收藏, 编辑
摘要:
作为一个社区类型软件,大并发支持和高效稳定运行永远是“硬道理”,而有效安全的使用缓存恰恰能起到事倍功半的效果。而.NET本身所提供的缓存机制又显得过于“单薄”,比如说订制不太灵活方便, 缓存对象之间层次感不强, 使用时缺乏统一的管理等等。 Discuz!NT缓存产生背景: 在去年五月份我加入Discuz!NT项目组时,发现这个项目当时还未使用缓存机制。主要原因是项目还处于起步阶段,很多东西还只是有想法,但未付诸实施,或还没找到合适的方案, 而缓存就是其中一个到底该不该使用,如果使用的该到底能多大程度缓解数据库压力以及开发成本的东西。 我当时正好有一个比较好的“原型”(从一本书上看到的... 阅读全文
一起谈.NET技术,.NET缓存机制探讨与比对
2011-08-29 19:26 by 狼人:-), 250 阅读, 收藏, 编辑
摘要:
相信大多数开发人员都比较了解缓存了,很多开发人员都在软件开发中使用了预定义或自定义的缓存,并从中获得了预期的应用程序的性能提升.这篇和后续文章将详细的介绍与探讨.net体系下的缓存实现的机制,并讨论它的优点与缺点.
.NET缓存机制:使用缓存的实际价值 在kevinhoffman,lonnykruger的书中写到:开发人员经常需要将数据(临时数据)临时存放到一个存储媒体以便快速访问.这种临时数据的存储器叫做缓存.如果开发人员合理使用缓存,则可以大幅度提高应用程序的性能.
上面是一段完美的关于缓存的定义,就目前而言,迅速而便捷的将数据提供给核心处理代码已成为一个重要的设计要求。,迅速是为... 阅读全文
一起谈.NET技术,使用User Control做HTML生成
2011-08-29 19:26 by 狼人:-), 179 阅读, 收藏, 编辑
摘要:
User Control大家肯定不会陌生,在使用ASP.NET的过程中,除了aspx页面,最常见的就莫过于ascx了。ascx是一个有独立逻辑的组件,提供了强大的复用特性,合理使用,能够大大提高开发效率。通过User Control直接生成HTML内容其实已经是一个比较常用的技巧了(尤其在AJAX时代),不过网络上这方面的内容比较少,很多人还是在苦苦地拼接字符串,因此在这里我通过一个实例简单介绍一下这个技巧。 对一个对象(文章,图片,音乐,etc.)进行评论是应用中最常见的功能之一。首先,我们定义一个Comment类,以及其中会用到的“获取”方法:
public partial cla... 阅读全文
一起谈.NET技术,NHibernate3.0剖析:Query篇之NHibernate.Linq标准查询
2011-08-29 19:26 by 狼人:-), 175 阅读, 收藏, 编辑
摘要:
系列引入 NHibernate3.0剖析系列分别从Configuration篇、Mapping篇、Query篇、Session策略篇、应用篇等方面全面揭示NHibernate3.0新特性和应用及其各种应用程序的集成,基于NHibernte3.0版本。如果你还不熟悉NHibernate,可以快速阅读NHibernate之旅系列文章导航系列入门,如果你已经在用NHibernate了,那么请跟上NHibernate3.0剖析系列吧。 NHibernate专题:http://kb.cnblogs.com/zt/nhibernate/
NHibernate官方站点:http://nhforge... 阅读全文
一起谈.NET技术,ASP.NET缓存初探 使用得当是关键
2011-08-29 19:26 by 狼人:-), 176 阅读, 收藏, 编辑
摘要:
缓存是在内存存储数据的一项技术,也是ASP.NET中提供的重要特性之一,对于程序员来讲,了解ASP.NET缓存的工作原理对于其设计程序是非常有用的。 ASP.NET需要被缓存的对象多种多样,包括从数据库中提取出来的数据,以及aspx页面生成的静态页,甚至是编译好的程序集。合理利用缓存能让ASP.NET的性能大幅提升,下面将对ASP.NET中的缓存机制进行简单概述。
缓存的分类 在ASP.NET中,大部分缓存机制是保存在cache对象中,也就是服务器内存的一部分。当用户请求数据时,如果数据已经被缓存,则用户所提取的数据直接从服务端返回,而不是从数据库等底层数据库提取。这对性能的提升不... 阅读全文
一起谈.NET技术,VB.NET和C#的发展与动态语言运行时
2011-08-29 19:26 by 狼人:-), 281 阅读, 收藏, 编辑
摘要:
在去年微软的专业开发者大会上(Professional Developers Conference PDC 2008),微软就开发者在.NET平台上的未来做了详细的展望,本文我们将概括地来看一下即将到来的.NET 4.0 Framework的一些特性,以及全新的Microsoft 系编程语言,讨论下微软对于.NET Platform在接下来几年的长远展望。
VB.NET和C#的联合发展 当前来自软件的最首要的信息之一是针对Microsoft Visual Basic .NET开发者的。VB.NET和Microsoft Visual C#都是构建在通用语言运行时(Common Langu... 阅读全文
一起谈.NET技术,解析ASP.NET应用程序中上传文件的方案
2011-08-29 19:26 by 狼人:-), 215 阅读, 收藏, 编辑
摘要:
在Web程序中上传文件是很常见的需求。利用HTTP协议上传文件的方式非常有限,最常见的莫过于使用<input type="file" />元素进行上传。这种上传方式会将内容使用multipart/form-data方案进行编码,并将内容POST到服务器端。使用multipart/form-data编码方式与默认的application/x-url-encoded编码方式相比,在大数据量情况下效率要高很多。 使用<input type="file" />上传文件最大的优势在于编程方便,几乎各种服务器端技术都对这种上传方式做了良好的封 阅读全文
一起谈.NET技术,为什么我支持托管运行时(虚拟机)
2011-08-29 19:26 by 狼人:-), 178 阅读, 收藏, 编辑
摘要:
最近博客园上在炒关于C#性能的问题,其实应该说是.NET性能的问题,其中某位仁兄提出,他希望C#能够直接编译为原生代码,而不是在CLR这样一个托管运行时上执行,因为虚拟机啊,JIT什么的性能差。后来发到TL上以后,也有朋友认为,“基于虚拟机的语言都是大公司为了利益在推动,说白了就是政治”,因此“对C#提高性能的建议感到可笑,因为它本来就不是用来开发高性能程序的”,再有,“C、C++已经明确不和这些后进争所谓的‘容易开发’的头衔”,那么其他语言为什么要和C++它们比较性能呢?我是托管运行时,或者虚拟机的忠实拥护者,这里谈一下我在这方面的看法。 我并不反对编译为原生代码的语言,尤其是C语言... 阅读全文
一起谈.NET技术,浅析ASP.NET清空缓存时遇到的问题
2011-08-29 19:26 by 狼人:-), 233 阅读, 收藏, 编辑
摘要:
相关文章:ASP.NET 缓存全解析 在网站中要做一个清理缓存的功能(也就是在缓存为到期之前就强制缓存过期),程序中有的地方使用的HttpRuntime.Cache来做的缓存,而和数据库交互部分则使用ObjectDataSource提供的缓存机制。清理HttpRuntime.Cache的缓存很简单,只要下面的代码就可以了。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->List<string> keys = new List&l 阅读全文
一起谈.NET技术,WPF Ribbon 开发资料分享
2011-08-29 19:26 by 狼人:-), 435 阅读, 收藏, 编辑
摘要:
Ribbon 开发工具
WPF Ribbon New 目前微软发布的最新Ribbon 开发工具,上一篇已经做过介绍这里就不再多说了。支持WPF 3.5 SP1、WPF 4,全面兼容VS2010 和Blend4。 下载 Fluent Ribbon Control Suite CodePlex 开源项目,提供了一组Office 2010 工具栏样式的控件库(DLL)。支持.NET 3.5、.NET 4 RTM 下载 WPF Ribbon Control WPF Ribbon 的前身,使用控件库(DLL)前需要Office UI 授权(可参考这里),工具栏样式与Office 2007 相同... 阅读全文
一起谈.NET技术,ASP.NET MVC2.0在Tab页中实现异步无刷新分页
2011-08-29 19:26 by 狼人:-), 343 阅读, 收藏, 编辑
摘要:
概述 很多地方都存在以Tab页来呈现数据的方式,比如网易、新浪、搜狐、QQ等知名的门户网站的首页,还有大家熟知的博客园首页,都是用了tab页来显示数据。大家之所以喜欢用Tab,因为它能大大的增加显示数据的空间,能在固定的空间中显示更多的数据。分页也是为了方便数据的显示,在应用系统中必不可少。这篇文章使用Jquery在ASP.NET MVC中使用Tab页,以及在Tab页中实现异步无刷新的分页功能。估计这个大家都会用得到的。 在ASP.NET MVC中实现分页,在之前的一篇博文:ASP.NET MVC2右键菜单和简单分页中已经实现了。实现的方式很简单,在table下面加上一段<a/>& 阅读全文
一起谈.NET技术,.NET平台上的Model-View-Presenter模式实践
2011-08-29 19:26 by 狼人:-), 215 阅读, 收藏, 编辑
摘要:
为什么要写这篇文章 笔者当前正在负责研究所中一个项目,这个项目基于.NET平台,初步拟采用C/S部署体系,所以选择了Windows Forms作为其UI。经过几此迭代,我们发现了一个问题:虽然业务逻辑已经封装到Services层中,但诸多的UI逻辑仍然弥漫在各个事件Listener中,使得UI显得臃肿不堪,并且存在诸多重复性代码。另外,需求提供方说,根据实际需要,不排除将部署结构改为B/S的可能性,甚至可能会要求此系统同时支持C/S和B/S两种部署方式。那么,如果保持目前将UI逻辑编码到Windows Forms中的方式,到时这些UI逻辑将无法复用,修改部署方式的代价很大。 为了解决以... 阅读全文
一起谈.NET技术,Silverlight中使用递归构造关系图
2011-08-29 19:26 by 狼人:-), 200 阅读, 收藏, 编辑
摘要:
这两天遇到一个问题,项目中需要在silverlight中使用连接图的方式来显示任务之间的关系,总体有父子和平行两种,昨天在改同事的代码,一直出问题,索性晚上写了一下实现方法。 需求 有一个List对象中存了若干个Task,这些Task对象通过ParentID属性进行关联,现在要求将这个List中的任务使用图的方式形成如父子关系和平行关系的图示例如下图: 实现方法思考 刚开始接到这个任务我就想着递归应该可以搞定了,但是仔细考虑才发现每个任务的子任务需要在一定区域内才行,需要计算子级和子级之间的距离,如果使用递归,例如上图的元素“12”的位置就没有办法很好确定了。 我决... 阅读全文
一起谈.NET技术,ASP.NET Routing对请求的处理方式
2011-08-29 19:26 by 狼人:-), 210 阅读, 收藏, 编辑
摘要:
原本这是《关于ASP.NET Routing的几点内容》一文中的一节,不过等写完这节之后发现这块内容已经比较完整了,而且它本身也是独立和最为常见的部分,因此我把它提取出来单独成文。至于那片文章的其他部分我会再修改一下,明天发布。希望这些内容会对您理解ASP.NET Routing工作方式,以及阅读ASP.NET Routing的代码有所帮助。 首先,如果您需要在项目中使用在ASP.NET Routing的功能,则需要在web.config文件中配置一个HttpModule: Code highlighting produced by Actipro CodeHighlighter (... 阅读全文
一起谈.NET技术,两分钟彻底让你明白Android Activity生命周期(图文)!
2011-08-29 19:26 by 狼人:-), 181 阅读, 收藏, 编辑
摘要:
大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助,但是还不能完全吃透,所以我今天特意在重新总结一下. 首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的): Activity其实是继承了ApplicationContext这个类,我们可以重写以下方法,如下代码: view plaincopy to clipboardprint?public clas... 阅读全文
一起谈.NET技术,浅谈.Net中容易混淆的委托和接口
2011-08-29 19:26 by 狼人:-), 232 阅读, 收藏, 编辑
摘要:
本文适合对委托和接口概念非常了解的朋友,并且欢迎各位朋友与Snake一起探讨有关这方面的知识.本文不适合对委托和接口概念或用途了解一知半解(模糊)的朋友,这篇文章可能会对您产生误导,请千万别看. 在文章正式开始之前我需要将MSDN上对委托和接口的内容放上来,作为文章之基. 委托: 委托是一种定义方法签名的类型。当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。您可以通过委托实例调用方法。 委托用于将方法作为参数传递给其他方法。事件处理程序就是通过委托调用的方法。您可以创建一个自定义方法,当发生特定事件时某个类(例如 Windows 控件)就可以调用您的方法. ... 阅读全文
一起谈.NET技术,ASP.NET MVC2实现分页和右键菜单
2011-08-29 19:26 by 狼人:-), 289 阅读, 收藏, 编辑
摘要:
右键菜单非常方便,很多时候会用到。这篇文章将使用一个JQUERY的插件在asp.net mvc中实现右键菜单。本文还将介绍一下在asp.net mvc中如何实现简单的分页。效果如下图: 首先,下载此插件。 新建一个asp.net mvc应用程序。将此插件放入Scripts文件夹。并在页面上引用。 这个demo使用到NORTHWND数据库的Product表。 定义右键菜单: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><d... 阅读全文
一起谈.NET技术,闲话“多线程”
2011-08-29 19:26 by 狼人:-), 230 阅读, 收藏, 编辑
摘要:
一,摘要 圣殿骑士首先向大家说声对不起,由于最近身体不适,同时也因为这些天一直在研究微软的云计算平台Windows Azure(公司项目需要),所以暂停了更新WPF 基础到企业应用系列索引,不过经过这几天的调节,尤其是到海边去晒了晒太阳,现在又开始继续发文了,大家有兴趣也可以去看看漂亮的大海图片工作之余的闲暇,今天这篇文章不是专业谈多线程,只是应一些朋友的要求对上篇文章WPF 基础到企业应用系列4——WPF千年轮回进行一些额外的补充,如果有时间,可以单独写一个专题来详细深入多线程的应用,当然由于自己才疏学浅,但渴求对自己知识的纠正和提高,所以发布出来。如有不对的地方,也希望大家多多海涵!
二. 阅读全文
一起谈.NET技术,Microsoft Ribbon for WPF 正式发布
2011-08-29 19:26 by 狼人:-), 396 阅读, 收藏, 编辑
摘要:
之前写过几篇关于WPF4 中开发Ribbon 工具栏的文章,其中利用的是WPF Ribbon Control 控件库,开发出类似Office 2007 样式的Ribbon 工具栏。当然CodePlex 也提供了Fluent Ribbon Control Suite 项目可以写出Office 2010 样式的工具栏应用程序。8月2日微软正式发布了Microsoft Ribbon for WPF,该Ribbon 控件是100%完全属于的WPF 工具,并支持WPF3.5 SP1 以及WPF4。 下载安装 首先下载 MSI 安装程序。Microsoft Ribbon for WPF Sou... 阅读全文
一起谈.NET技术,利用ASP.NET MVC源代码调试你的应用程序
2011-08-29 19:26 by 狼人:-), 284 阅读, 收藏, 编辑
摘要:
之前写了一篇博客:利用.NET Framework4.0的源代码调试你的应用程序。那篇文章教你如何利用.NET Framework4.0的源代码帮助你调试应用程序,其实也就是进入.NET Framework4.0源代码进行单步调试。由于项目需要,最近学起asp.net mvc。昨天遇到ViewData和TempData他们之间的分别这样让我纠结的问题。有园友强烈建议我去看ASP.NET MVC的源代码。所以,我想到如何在调试ASP.NET MVC程序的时候,有不明白的地方,就单步进入ASP.NET MVC的源代码,是非常好的一个办法。 所以,结合利用.NET Framework4.0的... 阅读全文
一起谈.NET技术,如何实现ASP.NET网站个性化?
2011-08-29 19:26 by 狼人:-), 193 阅读, 收藏, 编辑
摘要:
个性化是大多数Web应用程序的一个关键部分。TechRepublic和Amazon就是典型的例子,它们能够记住用户的某些特征。应用ASP.NET 1.x实现这一功能需要完成一些额外的工作,并要使用Session对象,而ASP.NET2.0版本简化了个性化过程。 个性文件 ASP.NET 2.0 Profile系统允许你轻松存储用户的相关信息。定义与每名用户有关的属性,并将它存储在他们的个性文件中。个性文件数据可以用程序方便地访问。与其它保存文件一样,它必须被存储,且个性文件默认使用SQL Server。 Profile系统以提供程序模型为基础,特殊的Profile提供程序负责... 阅读全文
一起谈.NET技术,梦想创造可能——盘点微软 .NET 技术八年发展历程
2011-08-29 19:26 by 狼人:-), 344 阅读, 收藏, 编辑
摘要:
文/刘如鸿 2000年对于微软是颇有意思的一年,一方面终于迈入了21世纪,担心许久的千年虫问题也没有预想中的那样大面积爆发,通过Windows95和Windows98的成功,微软在桌面电脑市场取得了绝对垄断的地位。虽然官司不断,但通过IE捆绑策略也终于彻底打败了傲慢的Netscape,搭上了互联网班车。而Windows2000的发布也结束了Windows98和WindowsNT两个平台互不兼容、互相掐架的问题,在全新的NT5.0内核上,服务器和客户端操作系统终于得到了整合。至于办公软件领域,从Office97之后已经睨视宇内,LotusNote已经渐渐退出市场,再也没有了重量级的竞争对... 阅读全文
一起谈.NET技术,利用.NET Framework4.0的源代码调试你的应用程序
2011-08-29 19:26 by 狼人:-), 255 阅读, 收藏, 编辑
摘要:
相关文章:利用ASP.NET MVC源代码调试你的应用程序 .NET Framework 的部分源代码是开源的。这些源代码可以供我们学习和参考。也可在也平时调试应用,直接跳入这些开源了的.NET Framework的代码中。这样既可以学习MS放出来的代码,又可以帮助自己调试。下面我用一个WPF的简单的例子演示一下。 新建一个WPF应用程序,拖一个button,后台代码弹出一个messagebox就行了。
private void button1_Click(object sender, RoutedEventArgs e){ MessageBox.Show("hello wo... 阅读全文
一起谈.NET技术,ASP.NET MVC2中Controller向View传递数据的三种方式
2011-08-29 19:26 by 狼人:-), 195 阅读, 收藏, 编辑
摘要:
在Asp.net mvc开发中,Controller需要向View提供Model,然后View将此Model渲染成HTML。这篇文章介绍三种由Controller向View传递数据的方式,实现一个DropDownList的显示。 第一种:ViewData ViewData是一个Dictionary。使用非常简单,看下面代码: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public ActionResult ViewDataWay... 阅读全文
一起谈.NET技术,跟ASP.NET MVC一起使用jQuery
2011-08-29 19:26 by 狼人:-), 209 阅读, 收藏, 编辑
摘要:
藉由ASP.NET MVC内置的扩展性,开发人员便可以使用第三方库,例如jQuery。在使用ASP.NET Webforms的时候,如果使用jQuery而不是ASP.NET AJAX,难度会比较大。 刚开始撰写本文的时候,ASP.NET MVC的版本是Preview 4,有些在Preview 4中使用的技术可能无法在早期版本中正常工作。Preview 4可以在CodePlex上下载。 初步配置 我不打算把它写成一篇完整的jQuery指南,只是简单给出几个跟ASP.NET MVC一起使用这款JavaScript库的示例。Chad Myers有一篇很精彩的指南,包括了如何上手。
... 阅读全文
一起谈.NET技术,异步调用与多线程的区别
2011-08-29 19:26 by 狼人:-), 474 阅读, 收藏, 编辑
摘要:
随着拥有多个硬线程CPU(超线程、双核)的普及,多线程和异步操作等并发程序设计方法也受到了更多的关注和讨论。本文主要是想探讨一下如何使用并发来最大化程序的性能。 多线程和异步操作的异同 多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为多线程和异步操作是等同的概念。但是,多线程和异步操作还是有一些区别的。而这些区别造成了使用多线程和异步操作的时机的区别。 异步操作的本质 所有的程序最终都会由计算机硬件来执行,所以为了更好的理解异步操作的本质,我们有必要了解一下它的硬件基础。 熟悉电脑硬件的朋友肯定对DMA这个词不陌生,硬盘、... 阅读全文
一起谈.NET技术,浅谈如何使用.NET存储XML数据
2011-08-29 19:26 by 狼人:-), 201 阅读, 收藏, 编辑
摘要:
XML Bulk Load和Updategrams,这两种客户端技术使用带有注解的大纲指定XML文档内容和数据库的表之间的映射;OpenXML是一种服务器端技术,它允许你在XML文档上定义关系视图,有了OpenXML的关系视图,你就能使用T-SQL代码查询XML文档中的数据并把结果存储在你的SQL Server数据库中。 这三种技术中的每一种都是为特定的目的设计的。XML Bulk Load把来自很大的XML文档的数据存储在SQL Server中;Updategrams执行SQL Server数据的优化更新(优化更新是没有锁(lock)的更新,在这种更新中系统检测是否有其它用户在原来... 阅读全文
一起谈.NET技术,ASP.NET2.0服务器控件之类型转换器
2011-08-29 19:26 by 狼人:-), 239 阅读, 收藏, 编辑
摘要:
类型转换器是实现自定义服务器控件属性过程中比较重要的内容。本文将对类型转换器的基本概念和实现方法进行介绍。 1. 类型转换器基本概念 类型转换器是自定义服务器控件的辅助性功能实现。它主要用于执行从字符串表示形式到指定类型之间的双向转换。例如,以文本形式表示属性值,将用户输入的文本转换为相应数据类型等等,都应用了类型转换器。 对于多数基本数据类型(如Int32、Bool、Char、String、枚举类型等),.NET框架已经为它们提供了默认的类型转换器,这些类型转换器完成从字符串到相关值的转换并执行验证检查的功能。默认的类型转换器派生自System.ComponentModel.Typ... 阅读全文
一起谈.NET技术,混乱的MVC,.NET非要MVC不可么?
2011-08-29 19:26 by 狼人:-), 288 阅读, 收藏, 编辑
摘要:
最近流行MVC,不是因为大家都在用,而是他已经在.NET缺席N多年。本文题目是乱取的,吸引眼球而已。 MVC是一个非常有争议性的话题,首先,什么算是MVC,没有一个统一的说法,众说纷纭,java,php都在争吵不休,就跟别说已开始就压根没打算MVC的ASP.NET。在大家被微软用CodeBehind和CodeBeside忽悠过去N多年之后,当大家在对WebForm审美疲劳后,MVC就跟李宇春一般另类且充满吸引力。最近的新闻是微软也要在ASP.NET中推出MVC了。对于很多M饭来说是一个十分值的庆祝的事情。顺带着MonoRail也鸡犬升天,关注的人越来越多。WebForm未死,MVC却活... 阅读全文
一起谈.NET技术,疯狂的想法——基于.NET的软件超市平台构想与5年实现之路
2011-08-29 19:26 by 狼人:-), 353 阅读, 收藏, 编辑
摘要:
在2005年的时候,我曾经基于.NET 2003开发了一个小的组件,这个组件的目的是为了解决模块化开发和模块复用的问题。我将该组件命名为Common Form Framework,它的目的是允许每一个开发人员独立的开发自己的模块且可以直接专注于业务模块,然后通过配置可以快速将所有开发人员开发的业务逻辑窗体集成到这个组件中。 该组件的思路如下图所示。该组件提供了一个如“2”标识的空的窗体,每一个开发人员通过编写一个如“1”的XML配置文件即可将一个模块的功能附加到空窗体,最终组合成一个如“3”所示的软件产品。 这个组件成功的应用在一个由9个人合作开发,历时1年的应用系统开发中。它... 阅读全文
一起谈.NET技术,13个不可不知的ASP.NET MVC扩展点
2011-08-29 19:26 by 狼人:-), 178 阅读, 收藏, 编辑
摘要:
ASP.NET MVC设计的主要原则之一是可扩展性。处理管线(processing pipeline)上的所有(或大多数)东西都是可替换的。因此,如果您不喜欢ASP.NET MVC所使用的约定(或缺乏某些约定),您可以创建自己的服务来支持您的约定,并将其注入到主管线中。 在本文中,我们将从管线开始直到视图呈现,逐一向您展示每个ASP.NET MVC开发者都必须了解13个扩展点。 1.ASP.NET MVC扩展之RouteConstraint 通常情况下你可以使用正则表达式对url参数进行约束,但如果您的约束不仅仅取决于单一参数,您可以实现 IRouteConstrains的方法,... 阅读全文
一起谈.NET技术,在ASP.NET 2.0中数据绑定的实现方法
2011-08-29 19:26 by 狼人:-), 219 阅读, 收藏, 编辑
摘要:
1、为什么ASP.NET 2.0中的数据绑定控件不需要写代码就能完成更新、删除、新建等数据操作? ASP.NET 1.x时,DataGrid等控件使用DataBinder.Eval(Container.DataItem,"ColumnName")这样的表达式可以将数据源中的数据绑定到控件上,但并不能在更新数据时自动将控件中的新值取出,更新回数据库。所以ASP.NET 2.0中的数据绑定分为两种:单向数据绑定(即表达式或ReadOnly设为True的BoundField,只提供从数据源到控件的数据绑定)和双向数据绑定(,不但可以将数据从数据源绑定到控件,而且可以在操作数据时将 阅读全文
一起谈.NET技术,ASP.NET MVC 2扩展点之Model Binder
2011-08-29 19:26 by 狼人:-), 158 阅读, 收藏, 编辑
摘要:
Model Binder在Asp.net MVC中非常简单。简单的说就是你控制器中的Action方法需要参数数据;而这些参数数据包含在HTTP请求中,包括表单上的Value和URL中的参数等。而ModelBinder的功能就是将这些个表单上的Value和URL中的参数换成对象,然后将这些对象绑定到Action的参数上面。我简单的画了一个图,看起来会更加直观。 在asp.net mvc中你可以写类似下面这样的代码:
[HttpPost]public ActionResult Create(){ Book book = new Book(); book.Title = Req... 阅读全文
一起谈.NET技术,在ASP.NET MVC中进行TDD开发
2011-08-29 19:26 by 狼人:-), 186 阅读, 收藏, 编辑
摘要:
TDD介绍 TDD是一种开发方法,全称是Test-Driven development,中文是测试驱动开发。作者是Kent Beck。首先让我介绍一下三种常见的开发方式: 第一种:先Coding,然后Bug Fix。 第二种:先Coding,然后Unit Test,最后Bug Fix。很显然用了单元测试的比第一种开发方式要好不少。 第三种:就是本文要说的TDD,它的方式和第二种恰恰相反。TDD先设计单元测试,然后再Coding,最后修复Bug。看下图: TDD开发过程可以看成:给制自己制定一个目标,然后努力去完成这个目标。下面是这个比喻对应关系。斜杠前面的是TDD,... 阅读全文
一起谈.NET技术,ASP.NET缓存全解析7:第三方分布式缓存解决方案 Memcached和Cacheman
2011-08-29 19:26 by 狼人:-), 289 阅读, 收藏, 编辑
摘要:
ASP.NET缓存全解析文章索引 ASP.NET缓存全解析1:缓存的概述
ASP.NET缓存全解析2:页面输出缓存
ASP.NET缓存全解析3:页面局部缓存
ASP.NET缓存全解析4:应用程序数据缓存
ASP.NET 缓存全解析5:文件缓存依赖
ASP.NET 缓存全解析6:数据库缓存依赖
ASP.NET 缓存全解析7:第三方分布式缓存解决方案 Memcached和Cacheman Memcached — 分布式缓存系统 1.Memcached是什么? Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。Memcached... 阅读全文
一起谈.NET技术,WPF 动态模拟CPU 使用率曲线图
2011-08-29 19:26 by 狼人:-), 815 阅读, 收藏, 编辑
摘要:
在工作中经常会遇到需要将一组数据绘制成曲线图的情况,最简单的方法是将数据导入Excel,然后使用绘图功能手动生成曲线图。但是如果基础数据频繁更改,则手动创建图形可能会变得枯燥乏味。本篇将利用DynamicDataDisplay 在WPF 中动态模拟CPU 使用率图表,实现动态生成曲线图。 新建项目将DynamicDataDisplay.dll 加载到References 中,打开MainWindow.xaml 添加命名空间xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"。通过<d3:Char 阅读全文
一起谈.NET技术,ASP.NET缓存全解析4:应用程序数据缓存
2011-08-29 19:26 by 狼人:-), 265 阅读, 收藏, 编辑
摘要:
ASP.NET缓存全解析文章索引 ASP.NET缓存全解析1:缓存的概述
ASP.NET缓存全解析2:页面输出缓存
ASP.NET缓存全解析3:页面局部缓存
ASP.NET缓存全解析4:应用程序数据缓存
ASP.NET 缓存全解析5:文件缓存依赖
ASP.NET 缓存全解析6:数据库缓存依赖
ASP.NET 缓存全解析7:第三方分布式缓存解决方案 Memcached和Cacheman System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类。此命名空间包括 Cache 类,该类是一个字典,您可以在其中存储任意数据对象,如哈希表和数据集。它还为这些对象提供了失效... 阅读全文
一起谈.NET技术,ASP.NET缓存全解析6:数据库缓存依赖
2011-08-29 19:26 by 狼人:-), 221 阅读, 收藏, 编辑
摘要:
ASP.NET缓存全解析文章索引 ASP.NET缓存全解析1:缓存的概述
ASP.NET缓存全解析2:页面输出缓存
ASP.NET缓存全解析3:页面局部缓存
ASP.NET缓存全解析4:应用程序数据缓存
ASP.NET 缓存全解析5:文件缓存依赖
ASP.NET 缓存全解析6:数据库缓存依赖
ASP.NET 缓存全解析7:第三方分布式缓存解决方案 Memcached和Cacheman 更多的时候,我们的服务器性能损耗还是在查询数据库的时候,所以对数据库的缓存还是显得特别重要,上面几种方式都可以实现部分数据缓存功能。但问题是我们的数据有时候是在变化的,这样用户可能在缓存期间查询的数据... 阅读全文
一起谈.NET技术,ASP.NET身份验证机制membership入门——项目
2011-08-29 19:26 by 狼人:-), 174 阅读, 收藏, 编辑
摘要:
前面说了很多关于membership的内容,感觉内容有点凌乱,内容都是一个个知识点,下面我们通过一个小的项目,来把所有的相关内容串一下。 首先描述一下需求: 我们要做一个最简单的网站。有三类用户:匿名用户,员工,管理员,网站结构如下: admin目录下的页面只允许admin角色的用户访问,employee目录下的页面只允许emp角色的用户访问。Default.aspx允许所有用户访问。Login.aspx实现登陆功能,regUser.aspx实现注册用户功能。 1.首先我们新建一个网站 2.进入C:\WINDOWS\Microsoft.NET\Framework\v2... 阅读全文
一起谈.NET技术,.NET Framework源码研究系列之---万法归宗Object
2011-08-29 19:26 by 狼人:-), 279 阅读, 收藏, 编辑
摘要:
经过前面三篇关于.NET Framework源码研究系列的随笔,相信大家都发现其实.NET Framework的实现其实并不复杂,也许跟我们自己做的项目开发差不多。本人也是这样的看法。不过,经过仔细深入的研究,我们还是会发现一下平时很难注意到的东西,而这些东西对我们完善思路,开阔眼界,锻炼良好的编码素质有着很大的意义. 我们知道.NET中所有的类型(包括:引用类型,值类型)都从Object类派生过来,由此可以说Object是所有类型的根本。那么今天我们就研究.NET(C#)中一切元素的根本---System.Object。 Object类在.NET源码中的实现很简单,一共不过100... 阅读全文
一起谈.NET技术,ASP.NET MVC 2生成动态表单的一种最简单的思路
2011-08-29 19:26 by 狼人:-), 350 阅读, 收藏, 编辑
摘要:
在BPM、OA等系统中,都会存在一个表单设计器。有些是通过操作gridview来完成一个表单的设计;有些是通过类似VS拖拽的方法完成一个表单的设计。很明显后面一种优越于前面一种。无论是哪种,最后都会产生一些XML之类的表单结构的数据。 这篇文章将讲述,在表单设计器设计好表单之后,在ASP.NET MVC中如何将表单结构的xml转换成实际应用系统中的表单。看下面一个xml文件,我们假设它是由一个表单设计器设计出来的。
<?xml version="1.0" encoding="utf-8" ?><form name="form1 阅读全文
一起谈.NET技术,我眼中的Visual Studio 2010架构工具
2011-08-29 19:26 by 狼人:-), 222 阅读, 收藏, 编辑
摘要:
影响架构质量的是构建体系架构的思想、原则、实践与架构师的经验,绝不是工具。即使是最优秀的架构工具,也不可能像倚天宝剑一般——倚天一出,谁与争锋——似乎谁握住了这把利刃,就能够成为武林盟主。架构工具可以改善架构师的工作,却不能替换架构的过程。软件开发过程中,最重要的依旧是人。 我在尝鲜Visual Studio 2010架构工具 时,偶然看到一篇文章,用夸张的语言吹捧VS 2010架构工具,认为它是架构师最怕程序员知道的新工具。这让我有感而发,我想起数十年前甚嚣尘上的一个理论,那就是CASE工具在未来可以取代编码工作的论断。随着DSL的逐渐流行,这个论断似乎有了能够实现的希望。我们已经... 阅读全文
一起谈.NET技术,基于CallContextInitializer的WCF扩展导致的严重问题
2011-08-29 19:26 by 狼人:-), 303 阅读, 收藏, 编辑
摘要:
WCF是一个具有极高扩展度的分布式通信框架,无论是在信道层(Channel Layer)还是服务模型层(Service Model),我们都可以自定义相关组件通过相应的扩展注入到WCF运行环境中。在WCF众多可扩展点中,ICallContextInitializer可以帮助我们在服务操作执行前后完成一些额外的功能,这实际上就是一种AOP的实现方式。比如在《通过WCF Extension实现Localization》中,我通过ICallContextInitializer确保了服务操作具有和客户端一样的语言文化;在《通过WCF Extension实现Context信息的传递》中,我通过ICa.. 阅读全文
一起谈.NET技术,VS2010如何做WAP开发
2011-08-29 19:25 by 狼人:-), 469 阅读, 收藏, 编辑
摘要:
自从VS2010 RC出来以后,就顺便把机器重做了,重装的时候特意没安装VS2008,全线过渡到VS2010和.net4.0,但今天有一小WAP项目,才意识到VS2010貌似不支持WAP窗体,按照记忆参考以前VS2008的做法(见:wap开发体会),下载模板后,一时眼花即没找到新建Mobile Web窗体的地方,于是又把VS2008装回来了,等到把VS2008搞定后,怀着一颗不死之心又重新到VS2010里瞅了瞅,发现其实也可以的(哎,真想抽自己),见下图: 项目上右击-->Add-->New Item。 注意:如果您选择Visual C#下的Web节点,是看不到Mobile We. 阅读全文
一起谈.NET技术,Visual Studio LightSwitch初体验和定位看法
2011-08-29 19:25 by 狼人:-), 280 阅读, 收藏, 编辑
摘要:
Visual Studio LightSwitch已经可以通过MSDN订阅下载了,相关介绍可以见:http://www.microsoft.com/visualstudio/en-us/lightswitch。 于是我马上下载下来体验了一把: 安装过程很简单,挂载ISO,运行setup.exe,提示需要1G多的空间,其实如果你安装了VS和Silverlight 4 SDK的话,要不了这么多的空间,500多M的安装包也是因为包含VS Shell的原因吧,我没有在干净的系统中安装,具体情况如何不太清楚。以后微软应该出一个针对已有VS环境的精简安装包。安装完成的界面截图如下: ... 阅读全文
一起谈.NET技术,ASP.NET中如何正确使用Session
2011-08-29 19:25 by 狼人:-), 247 阅读, 收藏, 编辑
摘要:
Asp.Net中的Session要比Asp中的Session灵活和强大很多,同时也复杂很多;看到有一些Asp.Net开发人员报怨说Session不稳定,莫名其妙的丢失,其实这正是Asp.Net改进的地方之一。 我们知道Session与Cookie最大的区别在于:Cookie信息全部存放于客户端,Session则只是将一个ID存放在客户端做为与服务端验证的标记,而真正的数据都是放在服务端的内存之中的。 在传统web编程语言(比如asp)中,session的过期完全是按照TimeOut来老老实实处理的,超时值默认是20分钟,但问题是:通常有很多用户只看一眼网页,然后就关浏览器走人了,这... 阅读全文
一起谈.NET技术,关于静态页和SEO的看法
2011-08-29 19:25 by 狼人:-), 211 阅读, 收藏, 编辑
摘要:
我们先来讨论一下,什么叫做“静态页”。有朋友说,放在硬盘上的htm或html文件便是一种静态页,Web服务器不需要做额外的处理,直接读取文件内容并输出就可以了,而这样的静态文件对于SEO是有帮助的。至于理由,是搜索引擎会对html结尾的文件给更好的权值(这好像还是结论,不是理由),而这是“常识”,“了解一点SEO的人都知道这个”,“人们普遍在使用的做法”,因此“它一定是正确的”。不过其实Google并不这么认为,百度倒没有给出专业说法。 当然,我们已经重复强调,但还是需要不断明确的一点是,即使搜索引擎对于“静态页”有更好的倾向性,那也是因为其“URL样式”,而不是“在硬盘上放置了一个h... 阅读全文
一起谈.NET技术,基于Visual Studio 2010 阐述C#4个特性
2011-08-29 19:25 by 狼人:-), 292 阅读, 收藏, 编辑
摘要:
Csharp4.0与以往版本基础体现了强大的性能优势,主要体现在以下四个方面: 1. 通过委托成员来实现接口 在C# 4.0中可以通过委托来实现某个成员的接口,例如下面的代码: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public class Foo : IList { private List _Collection implements IList; public Foo() ... 阅读全文
一起谈.NET技术,ASP.NET 4.0 一些隐性的扩展
2011-08-29 19:25 by 狼人:-), 248 阅读, 收藏, 编辑
摘要:
ASP.NET 4.0在很多方面都做了改进,在这篇ASP.NET 4.0白皮书就描述了很多ASP.NET 4.0的机制改变和改进。在我的博客中,也有几篇关于ASP.NET4.0的特性修改的文章。但是作为一个全新的框架和运行时,内部肯定还会有很多API和扩展点不会暴露的那么明显。比如今天从这篇文章Three Hidden Extensibility Gems in ASP.NET 4的介绍中,我又了解了一些在我平常开发中绝对非常有用的扩展点。 PreApplicationStartMethodAttribute 这个新的Attribute可以让我们指定一个公共的静态函数,让它在站点的... 阅读全文
一起谈.NET技术,提高ASP.NET应用程序性能的十大方法
2011-08-29 19:25 by 狼人:-), 198 阅读, 收藏, 编辑
摘要:
一、返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求。每次往返降低了你的应用程序的每秒能够响应请求的次数。通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量。 如果你是用动态的SQL语句来返回多个数据集,那我建议你用存储过程来替代动态的SQL语句。是否把业务逻辑写到存储过程中,这个有点争议。但是我认为,把业务逻辑写到存储过程里面可以限制返回结果集的大小,减小网络数据的流量,在逻辑层也不用在过滤数据,这是一个好事情。 用SqlCommand对象的ExecuteReader方法... 阅读全文
一起谈.NET技术,鲜为人知的ASP.NET MVC 2.0框架高效之谜
2011-08-29 19:25 by 狼人:-), 269 阅读, 收藏, 编辑
摘要:
要想建立开发环境,你需要安装Visual Studio 2008/2010 Beta 2,以及SQL Express 2005(可免费从MSDN下载)和MVC 2.0框架。我把本文中的示例Web应用命名为“Employee Master Information”。 使用该应用程序,你可以输入新员工数据,编辑现有员工数据,可以查看特定员工数据,和从数据库中给删除任意员工信息。该应用程序还使用了ASP.NET的Membership Provider来创建新用户和认证已有用户,客户端验证通过JavaScript实现。 图1 创建MVC项目、数据库和数据模型 在此前的ASP.NET ... 阅读全文
一起谈.NET技术,Silverlight中本地化的实现
2011-08-29 19:25 by 狼人:-), 185 阅读, 收藏, 编辑
摘要:
对于本地化这个功能我个人一直觉得在需求阶段就要确定该项目需不需要实行本地化,这样后面就可以减轻许多工作量,Sl中对本地化功能的支持与ASP.NET中一样,主要使用CultureInfo类来完成的。 下面来看实现本地化的具体流程,先来看一看我的项目结构: 这里我是把资源文件放入单独的项目中,这样结构上也比较的清晰。 第一步:先在Languages项目下添加几个资源文件,这里对于资源的命名要遵循.NET命名规范,比如说当前文化是中文的话,系统就会自动到Localization.zh-CN.resx中获取相关的字符。这里如果对多语言的文化的命名不熟悉的话,可以查看.NET全球化,... 阅读全文
一起谈.NET技术,WPF Multi-Touch 开发:惯性效果(Inertia)
2011-08-29 19:25 by 狼人:-), 356 阅读, 收藏, 编辑
摘要:
从上一篇实例可以发现在图片移动过程中如果将手指移开屏幕则图片会立刻停止,根据这种情况WPF 提供另外一种惯性效果(Inertia)。通过它可以使UI 单元移动的更加符合物理特性、更为实际和流畅。 在前面代码的基础上还需要为<Canvas> 增加ManipulationInertiaStarting 事件。
<Canvas x:Name="touchPad" Background="Gray" ManipulationStarting="image_ManipulationStarting" ManipulationD 阅读全文
一起谈.NET技术,WPF Multi-Touch 开发:高效开发模式
2011-08-29 19:25 by 狼人:-), 321 阅读, 收藏, 编辑
摘要:
在前几篇文章中已经介绍了触屏操作的多种模式,并对其开发方式也有了进一步了解。细心的朋友应该会发现在上一篇文章中,如果拖动图片过快它会因惯性效果飞出程序窗口外,也就是说还需要对其进行边界限制等相关开发。而且无论是哪种触屏操作都需要开发者逐行逐句的编写代码,本篇将为大家介绍一种高效的多点触屏开发模式。 其实我们只需利用CodePlex 中的Multi-Touch Manipulation 项目即可,该程序不仅支持WPF,还可以进行Silverlight 和Windows Phone 7 的项目开发。下载并安装程序,打开Blend 4 新建项目,在设计窗口绘制一个矩形。 在Behavi... 阅读全文