- 博客(87)
- 收藏
- 关注
原创 获取Setup文件的运行路径
项目中因为需要在安装时做配置,而在打包之前是不知道配置的具体信息的。用InstallShield来做打包好像做这样的处理比较方便,但是使用Visual Studio创建安装项目来打包时好像不是那么容易,在网上查找相关的资料一直没有找到很好的方法来直接获取其运行路径,网上有人说继承Installer来做,但是无论如何所能取得的路径是系统msiexec.exe的运行路径,所以这种方法看起来是行不通了。
2009-06-04 11:41:00
1911
1
原创 C# Socket编程笔记
1.按惯例先来介绍下socket Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样。在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单位),而这里这个描述符则是用于描述网络访问的。什么意思呢?就是程序员可以通过socket来发送和接收网络上的数据。你也可以理解成是一个API。有了它,你就不用直接去操作网卡了,而是通过这
2009-06-04 11:40:00
1665
原创 C#操作XML小结
一、简单介绍using System.Xml;//初始化一个xml实例XmlDocument xml=new XmlDocument();//导入指定xml文件xml.Load(path);xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));//指定一个节点XmlNode root=xml.Selec
2009-06-04 11:36:00
82173
9
原创 C#委托
一、委托 委托类似于函数指针,但函数指针只能引用静态方法,而委托既能引用静态方法,也能引用实例方法。 委托使用分三步:1、委托声明。2、委托实例化。3、委托调用。 二、例子: delegate int NumOpe(int a,int b); //第一步,声明委托 class Class1 { static void Main(string
2009-06-01 10:04:00
1462
原创 C#事件
上一篇文章中,说到了委托,现在就来说说事件吧,其实事件就是一种特殊的委托。 有事件,就会有对事件进行处理的方法,而事件和处理方法之间是怎么联系起来的呢? 委托就是他们中间的桥梁,事件发生时,委托会知道,然后将事件传递给处理方法,处理方法进行相应处理。 比如,在WinForm中最常见的是按钮的Click事件,它是这样委托的:this.button1.Click+=n
2009-06-01 10:04:00
803
原创 异步编程篇2
基于事件的异步模式是比 IAsyncResult 模式更高级的一种异步编程模式,也被用在更多的场合。对于相对简单的应用程序可以直接用 .Net 2.0 新增的 BackgroundWorker 组件来很方便的实现,对于更复杂的异步应用程序则需要自己实现一个符合基于事件的异步模式的类。这两者对我都是新东西,先从简单的入手,下一篇里我再去尝试复杂类模型的实现 模式概述 支持基于事件
2009-06-01 10:03:00
566
原创 异步编程篇1
.NET Framework 为异步操作提供了两种设计模式:使用 IAsyncResult 对象的异步操作与使用事件的异步操作。先来学习前者 概述 IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来实现原同步方法的异步调用,如 FileStream 类提供了 BeginRead 和 EndRe
2009-06-01 10:00:00
755
原创 System.Web.Routing入门及进阶(上篇)
System.Web.Routing已经作为一个程序集包含在.net3.5sp1中发布了。虽然我们并没有在3.5sp1中发现Asp.net Mvc的踪迹,但是亦以感觉到它离我们不远了。System.Web.Routing用于在Asp.net的Web应用程序中进行URLRouting。 所谓UrlRouting就是将一个地址映射为另一个地址,比如我访问/chsword/2008/08/
2009-04-19 13:45:00
633
原创 System.Web.Routing入门及进阶(下篇)
上面介绍的是最简单的一种定义方式。当然我们可以建立更复杂的规则。其中就包括设定规则的默认值以及设定规则的正则表达式。UrlRouting高级应用预计效果:当我访问/a/b.aspx时就会转到Default.aspx?category=a&action=b在页面上显示category:aaction:b亦如果我访问/chsword/xxxx.aspx就会转到Default.as
2009-04-19 13:45:00
570
原创 9.HtmlHelper
许多时候我们会遇到如下场景在写一个编辑数据的页面时,我们通常会写如下代码 1: input type="text" value= name="title" />由前篇我们所讲的Helper演化,我们思考,对于这种代码我们是不是也可以用一个Helper来自动绑定数据呢这当然是可以的,ASP.NET MVC提供了一个HtmlHelper用于生成有数据绑定的Html标签。1.
2009-04-19 13:44:00
795
原创 7.UrlHelper
这节讲 一下ASP.NET MVC中的Helper。何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组。其实ASP.NET MVC的View是Aspx的页面,本身可以声明定义方法,那为什么要有Helper呢?其实无非是将界面与逻辑分离,而且Asp.net MVC也并不只支持Aspx一种View(还可以扩展出来很多),在扩展包中,也有Castle的NVelocity引
2009-04-19 13:43:00
860
原创 8.Helper之演化
凡事出现必有原因就像Filter,它是为了解决在一类的Action之前或之后执行统一的代码而产生的。而Helper则是为了方便View的开发而产生的。下面我们来解决几个问题,来看看Helper是怎么演化出来的。起题目:如何在View中写一个超级连接连接到主页?这个问题看起来很好回答:a href="/home/index">首页a> 承其实上面这种不能
2009-04-19 13:43:00
600
原创 5.ActionResult的其它返回值
我们上边所看到的Action都是return View();我们可以看作这个返回值用于解析一个aspx文件。而它的返回类型是ActionResult如 public ActionResult Index() { return View(); }除了View()之外那我们这里还能用于返回什么值呢?一、asc
2009-04-19 13:42:00
669
原创 6.过滤器Filter
在Asp.netMvc中当你有以下及类似以下需求时你可以使用Filter功能判断登录与否或用户权限 决策输出缓存 防盗链 防蜘蛛 本地化与国际化设置 实现动态Action Filter是一种声明式编程方式,在Asp.net MVC中它只能限制于Action(或它的Controller)。 Filter要继承于ActionFilterAttribute抽象类,并可以覆写void O
2009-04-19 13:42:00
554
原创 4.向View传值
<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}-->一、ViewData与TempData属性来向View页传递对象上文中已经提
2009-04-19 13:41:00
566
原创 3.Controller与View
<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}-->这节我们让ASP.NET MVC真正的跑起来一、新建Controller
2009-04-19 13:40:00
583
原创 2.UrlRouting
<!--st1/:*{behavior:url(#ieooui) }-->一、什么是UrlRouting 你可以使用UrlRouting来配置一些URL的映射,使用户可以按你的规则来访问网站. 使用UrlRouting,一定要规定URL模式,它包括一个位置标识,它将在你请求网页时按这个规则返回给你内容. 当然,这个创建的规则完全是由你自己定义的. 上回说道如何访问
2009-04-19 13:39:00
724
原创 1.安装,并使ASP.NET MVC页面运行起来
<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--> 从前写过一系列的ASP.NET MVC教程,ASP.NET M
2009-04-19 13:36:00
1362
原创 弹出窗口悬浮,背景页面变灰,类似网易邮箱的半透明信息提示效果
类似网易邮箱的半透明信息提示效果(From:网络大本营 Http://www.qqview.com)body { background-color:#FFFFFF; margin:0;}li,td,div,body {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #333333; }//
2009-02-23 14:56:00
7613
1
原创 div弹出窗口可拖动
/* * 创建弹出div窗口。 1、接口说明:DivWindow(id,title,width,height,content) 构造函数,创建一个弹出窗口对象 参数:id 弹出窗口id; title:弹出窗口标题名称; width:弹出窗口宽度 height:弹出窗口高度 content: 弹出窗口显示内容 2、接口说
2009-02-23 14:55:00
2012
1
原创 Javascript弹出页面根据图片来缩放页面大小
function MM_preloadImages() { //v3.0 var intwidth=document.prodimg.width; var intheight=document.prodimg.height; window.resizeTo(intwidth+10,intheight+25); window.moveTo(10,10);}//-->
2009-02-23 14:52:00
999
原创 .Net 邮件发送的简单实现
.Net 邮件发送的类,在程序中直接调用就可以了,利用别人提供的smtp,就可以发Email了。using System;using System.Web.Mail; namespace ZhongRongBai{ /// /// SystemMail 的摘要说明。 /// public class Syst
2009-02-23 14:48:00
542
原创 C#随机生成中文字符串
using System;using System.Text; /// 可以随机生成一个长度为2的十六进制字节数组,/// 使用GetString ()方法对其进行解码就可以得到汉字字符了。/// 不过对于生成中文汉字验证码来说,因为第15区也就是AF区以前都没有汉字,/// 只有少量符号,汉字都从第16区B0开始,并且从区位D7开始以后的汉字都是和很难见到的繁杂汉字,/// 所以这些都要排出
2009-02-23 14:48:00
5362
1
原创 .Net中上传图片按比例自动缩小或放大
/**//// /// 按比例缩小图片,自动计算宽度 /// /// 源图文件名(包括路径) /// 缩小后保存为文件名(包括路径) /// 缩小至高度 public void SmallPicWidth(string strOldPic, string strNewPic, int intHeight)
2009-02-23 14:47:00
736
原创 C#下如何实现服务器+客户端的聊天程序
最近也在接触SOCKET编程,在当今这样一个网络时代,很多技术都以网络为中心在诞生,至少我认为是这样的,而SOCKET套接字接口,在实现网络通讯上处于关键地位,所以不会SOCKET是不行的。首先,本文主要是针对那些刚接触SOCKET编程的朋友,如果是高手,就可以不看此文啦,可以去陪陪老婆,比如逛街或看电视...在开始之前,我们需要预习一些基础知识:什么是SOCKET套接字?
2009-02-19 12:09:00
995
2
原创 Windows Forms 实现安全的多线程详解
前言 在我们应用程序开发过程中,经常会遇到一些问题,需要使用多线程技术来加以解决。本文就是通过几个示例程序给大家讲解一下多线程相关的一些主要问题。执行长任务操作许多种类的应用程序都需要长时间操作,比如:执行一个打印任务,请求一个 Web Service 调用等。用户在这种情况下一般会去转移做其他事情来等待任务的完成,同时还希望随时可以监控任务的执行进度。下面的代码片断示例了当长任务执
2009-02-19 12:07:00
651
原创 弹出窗口功能的实现
方法一: DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> html xmlns="http://www.w3.org/1999/xhtml"> head> title>title>
2009-02-19 12:06:00
923
原创 C#泛型小结
C#泛型演示class Stack{ private T[] store; private int size public Stack() { store = new T[10]; size = 0; } public void Push(T x) { store[size++] = x; } public void T Pop() { re
2009-02-19 12:05:00
903
1
原创 使用微软分布式缓存服务Velocity Part 3
概述Velocity是微软推出的分布式缓存解决方案,为开发可扩展性,可用的,高性能的应用程提供支持,可以缓存各种类型的数据,如CLR对象、XML、二进制数据等,并且支持集群模式的缓存服务器。Velocity也将集成在.NET Framework4.0中,本文将介绍Velocity中的悲观锁定,缓存项版本、日志记录、客户端缓存以及路由表等知识。 悲观锁定在Velocity提
2009-02-19 11:52:00
1412
原创 使用微软分布式缓存服务Velocity Part 2
概述Velocity是微软推出的分布式缓存解决方案,为开发可扩展性,可用的,高性能的应用程提供支持,可以缓存各种类型的数据,如CLR对象、XML、二进制数据等,并且支持集群模式的缓存服务器。Velocity也将集成在.NET Framework4.0中,本文将介绍Velocity中的配置模型、缓存复杂数据和创建分区、使用标签以及ASP.NET SessionState提供者。
2009-02-19 11:51:00
1204
原创 使用微软分布式缓存服务Velocity Part 1
概述Velocity是微软推出的分布式缓存解决方案,为开发可扩展性,可用的,高性能的应用程提供支持,可以缓存各种类型的数据,如CLR对象、XML、二进制数据等,并且支持集群模式的缓存服务器。Velocity也将集成在.NET Framework4.0中,本文将介绍Velocity的一些预备知识、安装配置以及开发一个简单的示例。 简介既然是分布式的缓存平台,客户端应用程序能
2009-02-19 11:50:00
2328
1
原创 VS 2008 在安装SP1后智能提示变成英文的解决办法
VS 2008 在安装SP1后智能提示就变成英文,像我等半英文盲在使用上感觉很不习惯,在网上看到很多人用替换法解决,现在微软终于出了针对这个问题的补丁:文件名称: VS90SP1-KB957507-CHS-x86.exe文件大小: 6.15MB文件类型: 应用程序URL: http://code.msdn.microsoft
2009-02-05 09:23:00
1350
1
转载 如何让TextBox只能输入数字、汉字、字母?
在编程的过程中我们可能经常会用到TextBox只接受数字输入(或者其他,比如:汉字,字母,等等),这个时候我们可能需要重新封装一个TextBox(其他方法当然也可以),经常看到有人问这个问题,今天抽了一点时间将此封装做了一下,现在共享大家,希望能给大家带来一定的帮助,如有不妥敬请斧正,另外:如需转载请注明出处: alimama_pid="mm_10249644_1605763_5
2009-01-10 21:34:00
1465
原创 C#操作Excel文件(读取Excel,写入Excel)
看到论坛里面不断有人提问关于读取excel和导入excel的相关问题。闲暇时间将我所知道的对excel的操作加以总结,现在共享大家,希望给大家能够给大家带了一定的帮助。另外我们还要注意一些简单的问题1.excel文件只能存储65535行数据,如果你的数据大于65535行,那么就需要将excel分割存放了。2.关于乱码,这主要是字符设置问题。1.加载Excel(读取excel内容)返回值是一个
2009-01-10 21:31:00
844
1
原创 无废话C#设计模式之二十二:总结
学习 l 掌握设计模式的意图以及解决的问题l 掌握设计模式所封装的变化点以及优缺点l 了解设计模式的结构图以及各角色的职责l 项目中是否应用了设计模式不重要,重要的是设计模式是否正确应用l 项目中应用的设计模式和GOF设计模式的结构是否一致不重要,重要的是是否从这个结构中得意l
2009-01-05 12:26:00
599
原创 无废话C#设计模式之二十一:Visitor
意图 实现通过统一的接口访问不同类型元素的操作,并且通过这个接口可以增加新的操作而不改变元素的类。 场景 想不出什么好例子,我们在组合模式的那个例子上进行修改吧。我们知道,无论是游戏大区、游戏服务器还是游戏的服务都是一个元素,只不过它们的层次不一样。对于这样的层次结构,我们使用了组合模式来统一各层的接口,这样对游戏大区的操作和对游戏服务器的操作对调用方
2009-01-05 12:22:00
583
原创 无废话C#设计模式之二十:Mediator
意图 用一个中介对象来封装一系列对象的交互。中介者使得各对象不需要显式相互引用,从而使其松散耦合,而且可以独立地改变它们之间的交互。 场景 我们知道,一个网络游戏往往有很多大区。每一个大区可以是一组服务器,也可以是多组服务器,在这里假设一个大区是一组服务器。为了效率,一般每个大区都会有一个数据库,玩家的创建角色、充值、消费行为只是在这一个大区中有效。
2009-01-05 12:21:00
677
原创 无废话C#设计模式之十九:Observer
意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。 场景 这次不说游戏了,假设我们需要在一个Web页面上分页显示数据。首先需要一个分页控制器和一个显示数据的表格。开始,客户的需求很简单,需要两个向前翻页向后翻页的按钮作为控制器,还需要一个GridView来显示数据。你可能会这么做:l
2009-01-05 12:20:00
640
原创 无废话C#设计模式之十八:Command
意图 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。 场景 我们知道,网络游戏中的客户端需要不断把当前人物的信息发送到游戏服务端进行处理(计算合法性、保存状态到数据库等)。假设有这样一种需求,在服务端收到客户端的请求之后需要判断两次请求间隔是不是过短,如果过短的话就考虑
2009-01-05 12:18:00
631
原创 无废话C#设计模式之十六:State
意图 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 场景 我们在制作一个网上书店的网站,用户在书店买了一定金额的书后可以升级为银会员、黄金会员,不同等级的会员购买书籍有不同的优惠。你可能会想到可以在User类的BuyBook方法中判断用户历史消费的金额来给用户不同的折扣,在GetUserLevel方法中根据用户历史消
2009-01-05 12:17:00
621
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人