代码改变世界

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

一起谈.NET技术,Silverlight 拖动复制控件

2011-09-01 23:44 by 狼人:-), 218 阅读, 收藏,
摘要: Silverlight 拖动复制控件,就是将控件从一个容器中向另一个容器中拖动时,不是移动控件而把该控件到另一个容器中。这种情形在程序中经常遇到,下面是我做的一个拖动复制控件的示例,仅供有这种需求的朋友们参考。 新建一个 Silverlight 项目命名为 DragAndCopy ,在新建的项目中添加一个Silverlight 用户控件(Silverlight user control)命名为 DragObject。项目结构如下图所示: 其中 DragObject 就是要拖动的用户控件,DragObject 的 Xaml 代码如下: Code highlighting produ... 阅读全文

一起谈.NET技术,.NET动态调用DLL的方法

2011-09-01 23:44 by 狼人:-), 845 阅读, 收藏,
摘要: 很多软件都是可插拔的,最知名的便是微软的Windows操作系统。你可以在Windows操作系统上安装QQ,也可卸掉QQ,这便是可插拔。这里不谈Windows的实现,因为太过复杂。本文就谈谈管理软件的可插拔的实现。相对Windows操作系统,QQ就是它的一个插件。所以可以简单的将开发可插拔的软件分为两个部分。一个是主应用程序的开发,一个是插件的开发。 比Windows小的,常见的可插拔的软件是MSN。MSN主应用程序由MS开发,还存在一些MSN插件开发商,国内好像也有不少,这些插件开发商通过在插件中植入广告获取利润。MS不可能提高源代码给这些开发商,那么MSN的主应用程序和MSN的插件是... 阅读全文

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

2011-09-01 23:43 by 狼人:-), 218 阅读, 收藏,
摘要: 或许大家还对为何要重写Render方法存有疑惑,希望大家看看我举的例子,能够明白Render方法和其他两个方法的作用,然后真正明白为何一般情况下只须重写Render方法。我们知道我们每次编写控件时,都需要重写Render方法,我们发现在Control类中很多方法可以重写,但我们没有去重写他们,我们需要遵循一个原则,在需要重载的时候再去重写他们 我们还是先来看看与Render方法相关的两个方法 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--... 阅读全文

一起谈.NET技术,asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别

2011-09-01 23:43 by 狼人:-), 182 阅读, 收藏,
摘要: Response.Redirect 简单地发送一条消息到浏览器,告诉浏览器定位到另一个页面。你可以使用下面的代码将用户引导到另一个页面: Response.Redirect("WebForm2.aspx") 或者 Response.Redirect("http://www.cnnas.com/") Server.Transfer 也是通过一条语句将用户引导到另一页面,比如:Server.Transfer("WebForm2.aspx")。不过,这条语句有一系列独特的优缺点。 首先,通过 Server.Transfer 引导到另一页面保 阅读全文

一起谈.NET技术,ASP.NET的运行原理与运行机制

2011-09-01 23:43 by 狼人:-), 341 阅读, 收藏,
摘要: 当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的页面类型为其加载相应的.dll文件,然后在处理过程中将这条请求发送给能够处理这个请求的模块。在ASP.NET 3.5中,这个模块叫做HttpHandler(HTTP处理程序组件),之所以.aspx文件可以被服务器处理,就是因为在服务器端有默认的HttpHandler专门处理.aspx文件。IIS在将这条请求发送给能够处理这个请求的模块之前,还需要经过一些HttpModule的处理,这些都是系统默认的Modules(用于获取当前应用程序的模块集合),在这个HTTP请求传到HttpHandler之前要经过不同的HttpM.. 阅读全文

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

2011-09-01 23:43 by 狼人:-), 217 阅读, 收藏,
摘要: asp。net本身提供了很多控件,提供给我们这些比较懒惰的人使用,我认为控件的作用就在此,因为我们不想重复工作,所以要创建它,这个本身便是一个需求的关系,所以学习控件开发很有意思。 wrox网站上有本书 Professional ASP。NET 2.0 Server Control and Component Development,现在还没有出版,但网站上放出了代码,所以正好下载过来学习一下。 我看过前几章代码,环环相扣,作者用不同的知识向我们展示同一个效果,所以循序渐进的学下来很有好处。虽然自己对控件开发还不是很熟悉,但我感觉以下几点很重要,是我自己总结的 1. 了解控件之间的继承... 阅读全文

一起谈.NET技术,ASP.NET伪静态的实现及伪静态的意义

2011-09-01 23:43 by 狼人:-), 198 阅读, 收藏,
摘要: 一、伪静态的用处 有些用户觉得,伪静态和真静态实际被收录量会相差很大,其实不然,从你个人角度,你去判断一下一个帖子到底是真静态还是伪静态?估计很难看得出,因为所谓静态的意思,就是地址中不带问号,不带问号的就是静态,管他是真的还是伪的?搜索引擎看得出吗?所以说,其实不论是真的还是伪的,其实对于搜索引擎来说都是一样的,搜索引擎没有说,你这个是伪的,我不收录你。 追根究底来说,为什么搜索引擎会不收录带问号的网址?因为搜索引擎怕由于问号而进入死循环,称为“搜索机器人陷阱(Spidertraps)”(以前动网就有这样一个漏洞,蜘蛛进去出不来了),所以很多时候带问号的地址搜索引擎是不会进去的,... 阅读全文

一起谈.NET技术,.NET远程处理框架详解

2011-09-01 23:43 by 狼人:-), 277 阅读, 收藏,
摘要: 第1章系统总体结构 1.1 总体结构 系统实现需要部署服务器端的远程对象(即一个DbServerLibrary.dll),服务器端要注册通道和该远程对象。客户端要实现一个本地查询的服务器,同时根据SQL解析的结果向各个服务器发送命令,并将结果显示在客户端界面,服务器端可以接受并显示相应的命令。 1.2 关键组件结构 系统结构中关键的组件有远程对象,和本地服务器,实现的功能基本一致。下面以远程对象为例,说明组件的实现。远程对象在服务器端解决方案下的库文件中声明,通过服务器端进行注册,客户端通过TCP通道与服务器端远程对象通信,实现数据集的查询和传输。主要的数据成员有:Sq... 阅读全文

一起谈.NET技术,Server-push技术(comet)----------asp.net中的异步处理+client与服务器端的长连接

2011-09-01 23:43 by 狼人:-), 392 阅读, 收藏,
摘要: server-push技术已经面世很久了,但直到GTALK的诞生才慢慢的引导出这项技术,不过到现在为止,也很少有人去应用这方面的技术,server-push倒底是一个什么样的东西呢? 故名思义,server-push即“服务器推”的意思,ajax大家都用过,它和server-push是完全相反的两个东西,ajax是从服务器端拉取数据,如果要定期更新页面上显示的数据块,那么最简单的方法就是写个计时器,server-push则不同,它的本质是将client与server建立一个长连接,即连上后不断开,一旦服务器端有新的数据就将其推送到客户端,讲到这里出现了几个问题。 1.ajax与se... 阅读全文

一起谈.NET技术,Silverlight中二维变换详解

2011-09-01 23:43 by 狼人:-), 165 阅读, 收藏,
摘要: Silverlight 为常见变换变换包括旋转 (RotateTransform)、缩放 (ScaleTransform)、扭曲 (SkewTransform) 和平移 (TranslateTransform)。 还有一个MatrixTransform 类可以创建 RotateTransform、ScaleTransform、SkewTransform 和 TranslateTransform 类未提供的自定义变换。 下面所有示例蓝色为原始位置,红色为变换后位置,紫色为重叠位置! 一、二维变换矩阵简介 这个就是二维图形几何变换矩阵。 其中 是对图形进行缩放、旋转、对称... 阅读全文

一起谈.NET技术,从原理来看Silverlight 4的架构

2011-09-01 23:43 by 狼人:-), 194 阅读, 收藏,
摘要: 简介 在前文<<初识Silverlight 4及其架构>>谈到要从多个方面来了解:Silverlight的原理,处理周期,部署,安全性,伸缩性,分布式计算能力,容错能力,等等等等。这篇从原理的角度来看Silverlight 4架构相关的一些事情。 浏览器的插件 前文已经介绍过,整个Silverlight平台中包括一个安装器。这个安装器负责将浏览器插件安装上,并在客户浏览器那里搭建起运行Silverlight程序的基础环境。初次浏览Silverlight内容的客户必须先安装一个浏览器插件。安装了插件之后,插件安装程序向IE, Firefox等浏览器注入了插件。我们可以在浏 阅读全文

一起谈.NET技术,ASP.NET MVC中对Model进行分步验证的解决方法

2011-09-01 23:43 by 狼人:-), 190 阅读, 收藏,
摘要: 在我之前的文章:ASP.NET MVC2.0结合WF4.0实现用户多步注册流程中将一个用户的注册分成了四步,而这四个步骤都是在完善一个Model的信息,但是又分页面填写信息的,当时我加上ModelState.IsValid这句验证代码的时候,根本没法通过验证,因为在注册的前面三步,注册用户的Model信息都没填写完整,而ModelState.IsValid是对一个实体的所有属性进行判断验证的。当时很纠结,因为刚接触Asp.net MVC,故没有找到解决方案。这篇文章将给出解决的办法。看下面需要验证的Model的代码如下: 代码 Code highlighting produced by ... 阅读全文

一起谈.NET技术,利用Visual Studio 2010流程模板实现Scrum敏捷开发

2011-09-01 23:43 by 狼人:-), 424 阅读, 收藏,
摘要: 在我14年的编程生涯中,我从瀑布模型迁移到了迭代模型,然后又迁移到了Scrum,最后迁移到了Scrum-ban。下面是瀑布式的软件开发流程,迭代式的软件开发流程和Scrum软件开发流程的示意图。关于Kanban和Scrum-ban,我会在将来的博文中详细说明。在这篇文章中,我主要想通过一个Demo,来说明如何使用Microsoft Visual Studio Scrum 1.0,Microsoft Visual Studio Scrum 1.0是专门为Scrum团队构建的流程模板。 (图1:瀑布式的软件开发流程,迭代式的软件开发流程和Scrum软件开发流程的示意图) 瀑布式的开发方... 阅读全文

一起谈.NET技术,ASP.NET的状态管理

2011-09-01 23:43 by 狼人:-), 183 阅读, 收藏,
摘要: 状态时某一类型的数据在一定时期内保持活跃的信息。这里说的一定时期可以使整个应用程序的生命周期,可以使用户操作程序的时间,当然也可以是单个页面的生命周期等。 为了解决传统Web编程中固有的限制,ASP.NET提供了按页面保留数据和在整个应用程序范围内保留数据的功能,这些具体功能如下:(其中1到5是以不同方式将数据存储到客户端上,6到8是将数据存储到服务器上的内存中) 一、视图状态 ViewState属性提供一个字典对象,用于在对同一页的多个请求之间保留值。它是页用来在往返行程之间保留页和控件属性值的默认方法。 当将页面回发至服务器时,页面会在页的初始化阶段分析视图状态字符串,和原页... 阅读全文

一起谈.NET技术,ASP.NET 4过滤数据新控件QueryExtender

2011-09-01 23:43 by 狼人:-), 304 阅读, 收藏,
摘要: 在ASP.NET 4中的一个新的控件是QueryExtender。QueryExtender控件是为了简化LinqDatasource或EntityDataSource控件返回的数据过滤而设计的,它主要是将过滤数据的逻辑从数据控件中分离出来。使用QueryExtender是十分容易的事,只需要简单往页面上增加一个QueryExtender控件,指定其数据源是哪个控件并设置过滤条件就可以了。比如,当在页面中显示产品的信息时,你可以使用该控件去显示那些在某个价格范围的产品,也可以搜索用户指定名称的产品。 当然,不使用QueryExtender控件的话,LinqDataSource和Ent... 阅读全文

一起谈.NET技术,Visual Studio 2010层架构验证的实现

2011-09-01 23:43 by 狼人:-), 251 阅读, 收藏,
摘要: 当设计一个应用程序时,基本的要求是所有的通信信息交互都要通过定义的接口进行,不能让应用程序直接调用该接口的类别或方法。所以,可以通过Layer Diagram来展示这个架构上的想法。 我们将使用一段非常简单的代码,主要强调的是代码所代表的概念,而不是代码的细节。并将在现有代码层关系架构逻辑设计分析的基础上进行层验证(Layer Validation)功能: ①打开Visual Studio 2010,通过Modeling Projects模板指定解决方案(Solution)的名称为LayerValidation(File|New|Project命令,选择ModelingProjec... 阅读全文

一起谈.NET技术,c#数据库存取图片的三种方式

2011-09-01 23:43 by 狼人:-), 226 阅读, 收藏,
摘要: 第一种方式 文件夹与数据库配合 近来做了不少关于这块的功能 ,随着网络的飞速发展,网络存取图片已不再是神话,而成为了一种时尚,如果是你 是用Asp.net开发的话,可能更多的人会考虑使用数据库存储图片的路经,而在文件夹是存储图片的方式。这种方式主要的方法有两个一个就是怎么样读取图片,怎么样存储图上,读取的话我就不多说的这个是最简单的了,只要大家把地址=给存储图片的对象就行了,在取的时候一般要使用相对地址也就是“~” 如下所: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeH... 阅读全文

一起谈.NET技术,深入理解string和如何高效地使用string

2011-09-01 23:43 by 狼人:-), 269 阅读, 收藏,
摘要: 一个月以前我写了一篇讨论字符串的驻留(string interning)的文章,我今天将会以字符串的驻留为基础,进一步来讨论.NET中的string。string interning的基本前提是string的恒定性(immutability),即string一旦被创建将不会改变。我们就先来谈谈string的恒定性。 一、string是恒定的(immutable) 和其他类型比较,string最为显著的一个特点就是它具有恒定不变性:我们一旦创建了一个string,在managed heap 上为他分配了一块连续的内存空间,我们将不能以任何方式对这个string进行修改使之变长、变短、... 阅读全文

一起谈.NET技术,Silverlight 资源的使用

2011-09-01 23:43 by 狼人:-), 183 阅读, 收藏,
摘要: 我们在Silverlight 项目中,新加一个文件,比如一个图片文件,这个文件的属性会有下面2个选项,这两个选项决定了这个图片资源如何存储,如何使用。 先说简单的,资源文件的 Copy to OutPut Directory 属性, 这个属性有如下三个选项: 他们都是在程序编译或者部署时,判断此资源文件是否要同步用的。 Do not copy 不做数据同步 Copy always 每次都会被同步过去 Copy if newer 当有新版本存在时,才会被同步过去 Build Action 属性则复杂多了, 下面是VS2010中, Silverlight 4 项目资源文件的B... 阅读全文

一起谈.NET技术,ASP.NET用SQL Server中的数据来生成JSON字符串

2011-09-01 23:43 by 狼人:-), 191 阅读, 收藏,
摘要: 最近在学习ExtJs与ASP.NET结合开发,前者用到的数据内容基本上都是JSON格式,遂想写一个格式化数据成JSON的东东,在网上找了一下,发现还蛮多的,实现了一个类似于ToString()的方法,名曰:ToJson()。 不过在网上看到的基本上都是属于SCOTT大作的临摹版,90%以上都一样(我并不是说SCOTT大虾的杰作有什么不好,没有那个意思),于是我也照着葫芦画了一个瓢。废话就不多说了,直接进入正题。 先说说我的开发环境: Windows Server 2008 DataCenter Visual Studio 2008 Team System S... 阅读全文
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 56 下一页