摘要:
Webpart部署后在SPD中打开显示呈现控件时出错,后查到这篇文章,主要问题是在CreateChildControls中调用了this.page.Header,在设计视图时,该对象可能还不存在,以后编码时要注意在CreateChildControls尽量不调用数据库/文件系统读取、变量未附初值、调用了类似Page的属性如Session,Page.Request.QueryString等。 在制作控件的时候容易遇到呈现控件时出错发生了未处理的异常。未将对象引用设置到对象的实例。这样的错误,如下图:(也有可能仅仅只是因为未设置runat="server"标签而导致该错误,请先 阅读全文
随笔档案-2011年9月1日
一起谈.NET技术,对抽象编程:接口和抽象类
2011-09-01 23:59 by 狼人:-), 119 阅读, 收藏, 编辑
摘要:
1. 引言 在我之前的一篇post 《抽象类和接口的谁是谁非 》中,和同事管伟的讨论,得到很多朋友的关注,因为是不成体系的论道,所以给大家了解造成不便,同时关于这个主题的系统性理论,我认为也有必要做以总结,因此才有了本篇的新鲜出炉。同时,我将把上贴中的问题顺便也在此做以交代。 2. 概念引入 什么是接口? 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。接口方法不能包含任何实现,CLR 允许接口可以包含事件、属性、索引器、静态方法、静态字段、静态构造函数以及常数。但是注意:C# 中不能包含任何静态成员。一个类可以实现多个接口,当一个类继承某个接口时... 阅读全文
一起谈.NET技术,更改SharePoint 的web.config设置的两种方式
2011-09-01 23:59 by 狼人:-), 232 阅读, 收藏, 编辑
摘要:
MSDN上写的不是很明白,自己测试通过,记录一下: 方法一:通过创建描述一组 Web.config 修改的 XML 文件以声明方式注册 Web.config 项。 备注: 直接写一个webconfig.**.xml到14文件夹下的CONFIG中,在运行stsadm -o copyappbincontent 效果是一样的; 方法一有个缺点,会把所有WebApplication的web.Config都修改掉; 1.在sharepoint解决方案里添加14文件夹下的CONFIG文件夹,新建webconfig.**.xml文件(本文中使用的是webconfig.rj.... 阅读全文
一起谈.NET技术,VS2010 测试功能之旅:编码的UI测试(4)-通过编写测试代码的方式建立UI测试(上)
2011-09-01 23:59 by 狼人:-), 137 阅读, 收藏, 编辑
摘要:
回顾 在之前的入门篇系列中,分别介绍了一个简单的示例, 操作动作的录制原理,通过修改UIMap.UItest文件控制操作动作代码的生成,对象的识别原理。接下来正式进入我们UI测试的进阶篇,在这一章,将讲述如何初步通过自己编写代码的方式来建立UI测试。 示例程序 一个系统的基本功能是增,删,改,查,其中增和改界面基本一样,删就几乎是一个按钮的事,所以我做了一个程序示例(下载点我),拥有增和查两个功能,之后的操作都将会在这个示例之上进行: 系统主窗口: 该系统拥有两个功能,“添加用户”和“查询用户”,点击添加用户后,进入添加用户子窗体: 这里添加用户的时候根据情况会... 阅读全文
一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(四)天气系统
2011-09-01 23:59 by 狼人:-), 130 阅读, 收藏, 编辑
摘要:
如同动态光影一样,天气系统同样为2.5D RPG游戏所不可或缺的元素之一。从视觉角度讲,天气系统让游戏场景空间层次分明,立体感更强;从用户角度讲,天气系统赋予游戏更贴近现实的亲历体验,试想下游戏中的花花草草随风而动,云雾缭绕风雨雷电一切来得自然而平滑,玩家即似身临其境般享受;从功能角度讲,不同的气候状况会对角色及魔法效果产生各异影响,极大的提升游戏趣味性。 模拟相对较真实的天气效果,粒子系统必不可少,天气中的雨、雪、闪电、云雾等均可看做是大量粒子的集合。因此首先我们新建一个名为Particle的粒子类,然后再新建天气对象Weather,本节中我为Weather编写了常见的6种天气状态分... 阅读全文
一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(五)圣赞之HLSL渲染动画
2011-09-01 23:59 by 狼人:-), 132 阅读, 收藏, 编辑
摘要:
或许大家依旧对上一节中的“黑夜”及“梦回过去”记忆犹新,追问下去HLSL到底是何方神圣能实现如此炫酷之效果?HLSL(高级着色器语言)作为微软的独门兵器,仅供Direct3D使用。Silverlight无比幸运,从第二个版本开始便已获得了这把旷世利器,虽然目前仅能发挥其不到3层之功力,不过前辈Moonlight近期已向世界宣布全面突破技术壁垒,HLSL的威力提升至7层左右。我们完全可以预料的是,未来Silverlight将手握HLSL,踏着GPU 3D API飞扬驰骋,在RIA页游领域所向披靡,制作一切特效及渲染动画都将成探囊取物般轻松而惬意。 接下来的问题是HLSL开发困难吗?其实,... 阅读全文
一起谈.NET技术,VS2010测试功能之旅:编码的UI测试(2)-操作动作的录制原理(上)
2011-09-01 23:59 by 狼人:-), 207 阅读, 收藏, 编辑
摘要:
回顾 在之前我们介绍了如何用VS2010的UI测试功能创建一个简单的示例,大致描述了如何使用编码的UI测试进行录制和回放,在这章会着重描述VS2010是如何录制操作,并且生成代码,以及初步介绍如何通过自己写代码的方式进行测试。 内容简介 在上一章我们已经介绍过,建立一个编码的UI测试CodedUITest1.cs,录制完成之后,会自动生成一个UIMap1.uitest文件。 图1:录制完成后自动生成的UIMap1.uitest文件 事实上,在录制过程中起着关键作用的并非是CodedUITest1.cs,而是UIMap1.uitest,在录制过程中的所有代码都是生成在UIM... 阅读全文
一起谈.NET技术,十步教你ASP.NET MVC2项目升级MVC 3 RC
2011-09-01 23:59 by 狼人:-), 215 阅读, 收藏, 编辑
摘要:
微软在10号发布了ASP.NET MVC3的发布候选版(RC:Release-candidate),该版本提供了Razor视图引擎的智能感知等功能,并同样具备Online许可。眼馋的同学是不是已经迫不及待的想将现有项目升级呢?这里我就将官方ReleaseNotes中的升级办法翻译总结一下,以方便那些不喜欢看罗里啰嗦的英文文档的广大同学。 译文 要将现有的ASP.NET MVC2项目手动升级到ASP.NET MVC3(RC),我们需要如下这些步骤: 1. 随便创建一个新的ASP.NET MVC3项目,我们在升级中将用到其中包含的一些文件。 2. 从新建项目中将如下这些文件c... 阅读全文
一起谈.NET技术,ASP.NET MVC中对数据进行排序的方法
2011-09-01 23:59 by 狼人:-), 661 阅读, 收藏, 编辑
摘要:
本系列是讲解如何在asp.net mvc中对数据进行展示、排序、分页等的系列文章。在上周的文章中,一步一步教会了大家如何使用ASP.NET MVC框架去的展示数据。在上周的文章中,我们先用Visual Studio创建了一个新的ASP.NET MVC应用程序,接着连接到了Northwind数据库,并展示了如何使用微软的LINQ-SQL的工具去访问数据库中的数据,接着指导如何去实现视图层去展示产品信息及如何设计控制器。 本文是在上一篇文章的例子基础上,展示了如何去实现数据的双向排序。如果你是已经熟悉ASP.NET WebForm开发的开发者,你应该知道,在GridView控件中可以很简... 阅读全文
一起谈.NET技术,不走寻常路:在WebForm中使用MVC
2011-09-01 23:59 by 狼人:-), 223 阅读, 收藏, 编辑
摘要:
问题场景: 在改进博客园博客后台的过程中,有一个页面我们想用ASP.NET MVC来写。但我们不想通过设置<modules runAllManagedModulesForAllRequests="true"/>使用System.Web.Routing来处理请求,因为不能确定这是否会与我们现有的URL重写产生冲突。我们只是想用Razor爽一下。 解决思路: 不改变ASP.NET管线的请求处理流程,请求还是正常到达一个.aspx页面,然后再转手给ASP.NET MVC。也就是把WebForm作为一个中转站。 好处: 在现有项目中,以最小的代价用上ASP.NET MV 阅读全文
一起谈.NET技术,浅谈ASP.NET 4中构造HTML5视频控件
2011-09-01 23:59 by 狼人:-), 341 阅读, 收藏, 编辑
摘要:
在本文中,将一步步地指导你如何使用Visual Studio 2010和ASP.NET 4的相关知识,打造一个基于HTML5标准规范的视频播放控件,其中你会学习到一些关于HTML 5的知识,还会学到如何使用ASP.NET 4去打造一个服务端的控件。 简介 ASP.NET 4中有大量由微软或第三方提供的控件,但要是这些控件不能满足你的需求,那该怎么办呢?答案是:自己动手去设计! 本教程会指导你如何去开发一个ASP.NET 的服务端控件,你会感受到在开发自己的服务端控件的同时,也提升了你开发的Web应用的质量。我们一般在开发自己的服务端控件的时候,会继承已有的一些服务端控件并添加一... 阅读全文
一起谈.NET技术,.NET中的委托
2011-09-01 23:58 by 狼人:-), 314 阅读, 收藏, 编辑
摘要:
1.1.1定义 委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值,如下面的示例所示: //Code in C# public delegate int PerformCalculation(int x, int y); 与委托的签名(由返回类型和参数组成)匹配的任何方法都可以分配给该委托。 简单理解Delegate委托(或代理)是一种数据类型:它的变量可以引用到某一个符合要求的方法上,通过委托可以间接地调用该方法。 其实.NET的委托类似于C语言的函数指针,区别在于.NET委托... 阅读全文
一起谈.NET技术,WPF中使用amCharts绘制股票K线图
2011-09-01 23:58 by 狼人:-), 762 阅读, 收藏, 编辑
摘要:
本想自己用GDI绘图, 通过数据直接绘制一张蜡柱图, 但觉得这样子的功能比较少, 所以到网上搜索一些能画出K线图的控件. 发现DynamicDataDisplay挺好的, 在它的开发截图里也发现可以绘制蜡柱图, 但文档好像做的不是很好, 不知道怎么用它来画, 在寻找它比较好的例子的时候发现有人推荐用amCharts绘制, 所以便去看了一下, 发现挺好用的, 效果如下: 准备工作 先要去这里下载amCharts Stock Chart for WPF并解压, 新建一个WPF Project, 在Toolbox里右击, 选择Choose Items, 然后点击Browse, 找到解压... 阅读全文
一起谈.NET技术,C#类类型
2011-09-01 23:58 by 狼人:-), 160 阅读, 收藏, 编辑
摘要:
类类型是由字段数据(成员变量)和操作字段数据的成员(属性、方法、构造函数、事件等)所构成的自定义类型。其中字段数据表示类实例(对象)的状态。 在C#中,类使用class关键字定义,例如: public class Car{ //Car的字段(状态) private int _speed; private string _name; //Car操作字段的属性 public int Speed { set {this._speed=value;} get{return this._speed;} } public ... 阅读全文
一起谈.NET技术,Silverlight 2.5D RPG游戏技巧与特效处理:(十二)魔法系统
2011-09-01 23:58 by 狼人:-), 230 阅读, 收藏, 编辑
摘要:
世界首款Silverlight – MMORPG:<<窝窝世界>>震撼登场!伴着与XNA合体后的Silverlight 5 强势发布,一波Silverlight网游研发海啸即将席卷全球! 多磨的好事依旧让人激动,于是一不小心写下10款全新的魔法效果旨在祝贺。今天的教程不会让你失望,没错,又是一场超豪华魔法盛宴!接下来您将看到的是本教程ARPG Demo战斗实景,一切灵感与临摹均来源于近期即将内测的2.5D大作《倩女幽魂Online》(以下左边为倩女幽魂实景,右边为Demo对应实景)。野蛮冲撞之幻象刺杀!自适配地形之雷电风行!完美冰冻之暴风狂雪!环形突击之圆月斩!随机多段 阅读全文
一起谈.NET技术,DotNet并行计算的使用误区
2011-09-01 23:58 by 狼人:-), 173 阅读, 收藏, 编辑
摘要:
并行计算无疑是.Net Framework平台的一大亮点,它自动的将一个任务分解,并以并发的形式执行,程序员不用操心各任务之间的协作和同步问题,这使得可以更加专注于业务的实现。 .NET 中的 TPL(Task Parallel Library),中文意思是任务并行库,它的设计是为了能更简单地编写可自动使用多处理器的托管代码。使用该库,用户可以非常方便地用现有序列代码表达潜在并行性,这样序列代码中公开的并行任务将会在所有可用的处理器上同时运行,通常这会大大提高速度。 但是,从网上很多已经发布的并行计算的例子来讲,有很多存在一定的误区甚至是误导,这导致了一线编程人员产生一些... 阅读全文
一起谈.NET技术,.Net Discovery系列-深入理解平台机制与性能影响(上)
2011-09-01 23:58 by 狼人:-), 205 阅读, 收藏, 编辑
摘要:
转眼间《.Net Discovery》系列文章已经推出1年了,本文为该系列的第10-13篇文章,在本文中将对以前所讲的.Net平台知识做一个小小的总结与机制分析,引出并重点介绍这些机制对程序性能的影响与改进建议。 本文将分为四部分,分别讲述了:垃圾回收机制、即时编译机制、异常处理机制、字符串驻驻留机制的原理与性能改进建议。 《.Net Discovery》系列的每篇文章撰写耗时都在2天以上,转载时麻烦著名作者Aicken(李鸣),并且未经作者同意,禁止一切商业用途! 一.关于垃圾回收机制● 机制分析垃圾收集器是.Net平台的一个特性,它自动回收托管堆上不再使用的对象,及时... 阅读全文
一起谈.NET技术,.Net Discovery系列之-深入理解平台机制与性能影响 (中)
2011-09-01 23:58 by 狼人:-), 166 阅读, 收藏, 编辑
摘要:
上一篇文章中Aicken为大家介绍了.Net平台的垃圾回收机制与其对性能的影响,这一篇中将继续为大家介绍.Net平台的另一批黑马—JIT。有关JIT的机制分析 ● 机制分析以C#为例,在C#代码运行前,一般会经过两次编译,第一阶段是C#代码向MSIL的编译,第二阶段是IL向本地代码的编译。第一阶段的编译成果是生成托管模块,第二阶段的编译成果是生成本地代码以供运行,从这里各位同学可以看出,第一阶段生成的MSIL是不能直接运行的。必须指出的是JIT在第一次编译IL后,会修改对应方法相应的内存地址入口,下一次需要执行这个方法时,CLR会直接访问对应的内存地址,而不会经过JIT了。 以Lo... 阅读全文
一起谈.NET技术,.Net Discovery系列之-深入理解平台机制与性能影响(下)
2011-09-01 23:58 by 狼人:-), 158 阅读, 收藏, 编辑
摘要:
三.关于异常捕获机制 虽然我们已经很辛苦了,但是仍然有很多原因使代码运行失败,如引用null引用、索引越界、内存溢出、类型转换失败等等。这就需要我们的代码有足够的容错能力,在代码运行失败时,及时、主动的处理这些异常。 ● 机制分析 .Net 中基本的异常捕获与处理机制是由try…catch…finally块来完成的,它们分别完成了异常的监测、捕获与处理工作。一个try块可以对应零个或多个catch块,可以对应零个或一个finally块。不过没有catch的try似乎没有什么意义,如果try对应了多个catch,那么监测到异常后,CLR会自上而下搜索catch块的代码,... 阅读全文
一起谈.NET技术,Entity Framework 4.1 Code First 学习之路(二)
2011-09-01 23:58 by 狼人:-), 342 阅读, 收藏, 编辑
摘要:
写系列的上一篇已经是很久之前的事儿了= =在此期间,EF 4.1的RTW都已经出来了,NH 3.2的Alpha已经2了。。。其实不是我懒,工作中也在一直使用EF 4.1。主要是上次承诺过的一个Update功能搞不定= = 总之这一次的目标是: 实现一个完整的IRepository(添加增删改能力)
领域对象的继承
事物 首先来看IRepository 我的接口如下: public interface IRepository<TEntity> where TEntity : IEntity{ IEnumerable<TEntity> FindAll(); ... 阅读全文