自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 浅谈三层架构

三层架构并不是MVC,MVC是一个很早就有的经典的程序设计模式,M-V-C分为三层,M(Model)-V(View)-C(Control)。而web开发中的三层架构是指:数据访问层(DAL-DatabaseAccessLayer),业务逻辑层(BLL-BusinessLoginLayer),以及用户界面层(UI-UserInterface,实际就是网页后台的具体调用BLL层)。这个是基本概念。曾经我以为三层架构就是在AppCode中,分为三个大类与若干小类,各司其职。在经过一番洗礼后,才发觉多么的无知。首先

2011-04-05 02:24:00 2293 1

原创 WAP2.0手机网站的开发

前一阵帮着学校开发了WAP2.0的手机版学校首页。http://wap.chd.edu.cn从零基础入门,总体来说上手还是挺容易的,现在就来写一写关于我在wap2.0开发中遇到的问题,一来记录一下自己进行的第一个项目,二来也是给大家做一个参考,因为WAP2.0还算是比较新的东西,可参考的资料比较少。我在开发初期根本无从下手,无法找到大量的相关的准确资料,大多数在网上找到的都是一些不经过实践的copy文章,许多东西根本行不通。WAP网站分为WAP1.0和WAP2.0,现在比较主流的就是WAP2.0了。和WAP

2010-11-08 20:35:00 13065 15

原创 mysql乱码问题解决

win下的mysql可以用mysql配置向导更改所有字符设置为utf8是,作为linux系统下,需要找到my.conf文件修改配置1.改默认编码:   /etc/mysql/ 主要配置文件所在位置 my.cnf  /var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹  启动mysql后,以root登录m

2012-03-22 16:13:31 642

原创 SQLServer中获得刚插入数据中主键值的方法

PHP中有相关函数,.NET中以前都是再查询MAX(ID),SQLServer2005以后,可以输入SQL语句" INSERT INYO Table_Name OUTPUT inserted.ID VALUES ('a','b')",然后用ExecuteScalar()方法执行(返回第一行第一列的Object类型)。就可以获得刚插入行的主键,这里OUTPUT指出需要有一个返回值,inserted.

2011-12-17 02:59:58 3642

原创 windows下php全环境搭配

Apache 2.2.21官网上下载 httpd-2.2.21-win32-x86-no_ssl.mis包,安装apache,并在安装过程中注册为windows服务。如果安装有IIS或别的服务器,安装完毕后打开 httpd.conf,修改 Listen   xxxx  为非80端口。基本配置:修改 DocumentRoot、Directory为自定义的webroot

2011-10-26 14:07:03 1322 1

原创 IIS限制ASP.Net 文件上传大小解决方案,修改IIS7/7.5配置

当在web.config中设置了 httpruntime 后还是无法成功上传大文件,则要修改IIS的系统configIIS 7 默认文件上传大小是30M要突破这个限制: 修改IIS的applicationhost.config    打开 c:/windo

2011-08-26 19:46:58 2635 1

原创 Javascript中忽略的一些地方

1.setInterval方法:与setTimeout方法的不同是,前者是每次时间间隔后都会执行一次(可以用于AJAX的轮询),而后者是时间间隔后执行一次。可以讲其保存在一个变量中 var interval = setInterval(func,1000);

2011-07-03 16:35:18 457

转载 ASP.NET前台代码绑定后台变量方法总结

经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题。一般有和两种方式,这里简单总结一下。如有错误或异议之处,敬请各位指教。一方面,这里所讲的前台即通常的.aspx文件,后台指的是与aspx相关联的CodeBehind,文件后缀名为.aspx.cs;另一方面,这里的绑定是指用户发出访问某一页面指令后,服务器端在执行过程中就已经将前台代码进行了赋值,而后生成html格式回传客户端显示

2011-06-12 19:32:00 750

原创 深入理解计算机系统-计算机系统漫游

<br />程序是由一系列的bit位组成,就拿最简单的hello.c的程序来说,是以字节序列的方式存储在文件中。每个字节都有一个整数值,对应某个字符(ASCII码)。像hello.c这样只由ASCII字符构成的文件,称为文本文件,所有其他文件则称为二进制文件。所以,计算机系统中只有这两类文件。<br />程序的生命周期:<br />hello.c(源程序)--->预处理--->编译器--->汇编器--->链接器--->可执行的二进制文件。<br />预处理阶段:处理以字符#开头的命令,修改原始的程序

2011-06-01 17:38:00 596

原创 CLR via C#读后感2-类型基础

CLR要求所有的类型都从System.Object派生,也就是说Object是所有类型的父类。这样就标明所有类型都应该具有Object类的以下方法。Equal:两个对象如果有相同的值,就返回True。GetHashCode:返回对象值的一个哈希码。ToString:该方法默认返回对象完整名,即this.GetType().FullName,我们经常重写该方法,使返回String对象。GetType:返回一个对象的实例,指出调用GetType对象的类型。CLR要求所有对象都用new操作符来创建:Employe

2011-05-25 16:23:00 880

原创 CLR via C#读后感1-CLR的执行模型

CLR via C#这本书是无意间在网上看到别人极力推荐的,找到pdf扫描本后,就迫不及待的看了起来。通过前几章的阅读,发现对.NET底层有了一种新的认识,不再像以前一样只是单纯的写代码。尤其是CLR(Common Language Runtime)的作用,运行方式,有了个大致概念。CLR是一个可由多种编程语言使用的“运行时”,CLR的核心功能(内存管理,程序集加载,安全性,异常处理,线程同步)可由面向CLR的所有语言使用,所以,在编写源文件的时候,可以选择多种语言(C++/CLI,C#,J#,VB,Iro

2011-05-11 12:42:00 1502

原创 iframe中页面如果有验证导致重复出现页面的问题

在页面验证的时候都是使用Session,主界面的布局是菜单分栏式布局,左边是菜单,右边是一个iframe框架。iframe框架里面显示各个子页面。通常情况下,当我Session失效的时候。页面就会自动返回登录界面。但当我使用iframe后,iframe里面的子页面就会返回登录界面,而主界面不会返回。这样就造成再次登陆后,页面有两个主界面。解决办法:在子页面Session失效时,调用Javascript:top指代的是祖先页面,parent指代的是父页面。location属性还有一个reload()方法,lo

2011-05-08 09:54:00 3191

原创 C#中的栈与队列

<br />C#中也可以直接使用栈(Stack)和队列(Queue)来保存数据,先标记一下。

2011-05-03 09:53:00 667

原创 C#事件

<br />事件的定义方式为:<br />[访问修饰符] event 委托类型 事件变量如: public delegate void DelegateCar(); //先定义委托public event DelegateCar EventCar; //再定义基于委托的事件 <br />事件的使用经过三个步骤:1.定义事件。2.订阅事件。3.激发事件。<br />事件要想使用,必须先定义,然后要有一个订阅者去订阅该事件,该事件才会被响应。最后显式的激发该事件。<br />看了一个很直

2011-05-03 09:52:00 727

原创 基于Fileupload控件的FTP上传

类库: string filename = chdFtp.UniqueName(FileUpload1.FileName); chdFtp one = new chdFtp(filename, FileUpload1.PostedFile.InputStream); //Fileupload的文件PostedFile的返回流InputStream bool ftpUpdateFlag = one.UploadVideo(); 调用页面:先放一个File

2011-04-30 13:18:00 4063

原创 多线程编程

进程是程序在内存中的实例,一个进程中可以包含多个线程,线程间的切换速度比进程间的切换速度快,所以在处理多任务的时候,多线程开发显然是首选。线程只拥有寄存器和内存堆栈,并且只可以使用进程获得的资源。线程的创建使用的是ThreadStart()这个委托函数,public delegate void ThreadStart()。启动调用.Start()方法,由于单核CPU在同一时间内CPU只能处理一条CPU指令,多线程编程实现的并发,实际上是操作系统为cpu分配的时间片轮转,在各个线程间切换。实现了宏观上并行,微

2011-04-16 16:58:00 661

原创 什么是反向代理,如何利用反向代理提高网站性能

<br /><br />1.什么是正向代理和正向代理服务器?<br />正向代理就是通常所说的代理,是某台电脑通过一台服务器来上Internet网的这种方式,其中这台电脑就叫客户机,这台服务器就叫正向代理服务器也就是通常所说的代理服务器。在这种方式中,你是主动的,网站是被动的,网站那里不能得到你的真实ip地址。(通俗讲法)<br />正向代理服务器。它只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器(一般在IE-Internet选项-连接-局域网设置),并将本来要直接发送到Web服务

2011-04-16 14:26:00 789

原创 向Updatepanle中动态注册Javascript事件

<br />Updatepanle中不可用ClientScriptManager的方法去注册Javascript事件,但是可以用ScriptManager的方法去注册。<br />ScriptManager.RegisterClientScriptBlock(UpdatepanelName, typeof(UpdatePanel), "string", "JavaScriptString", true);

2011-04-14 22:55:00 440

原创 Socket之路二

<br />看了一晚上书,对多线程编程差不多有个轮廓,试着写了一个多线程的例子。但是还是没有弄清楚线程是如何结束的。尝试了.Absort()方法,是提前终止了该线程,是错误的。<br />Client端的代码和第一节一样(参考),变更的地方是Server端代码,既然多线程,应当在Accept()之后,就用委托创建一个新线程,并且.Start()这个线程,然后继续侦听下一个请求。<br /> <br />using System;using System.Collections.Generic;usi

2011-04-11 03:00:00 505

原创 生成静态页面

<br />动态页面每次都要经过服务器的处理才会返回,而静态页面会直接提交给用户,当生成一些内容常年不变,如新闻,小说的页面时,选择将发布的内容生成静态页面是很好的选择,这样会降低服务器的负担。<br />生成静态页面有两种思路。<br />1:模板替换法。<br />2:直接生成法。<br />关于模板替换法,就是事先写好静态页面模板(.html)。在生成时,替换其中的预定义块。比如:<br /><html><br /><head></head><br /><body><br /><p>{@newsTit

2011-04-10 23:52:00 622

原创 Socket之路一

学校开始学习Socket编程,虽然自己搞的是ASP.NET,但是对Socket也有很大的兴趣,一直不知道如何入门,刚好借此机会跟着学习。Socket的概念就不多写了,Windows环境下的Socket编程是WinSock,现在基本上是2.0,以前还有1.1版,但我想3.0是不会出来了。WinSock继承了伯克利开发的BSD Unix Socket的规范,所以过程都是一样的。WinSock编程一般都“异步非阻塞模式”,现在还未学习到这里,我也不知道如何调用,以后再继续讨论。关于同步、异步、阻塞、非阻塞。同步:

2011-04-10 22:17:00 729

原创 C#委托

<br />委托可以看做一种数据类型,可以用于定义变量。但他是一种特殊的数据类型,他所定义的变量能接受的数值只能是一个函数(方法),更确切的说,委托类型的变量可以接受一个函数地址,很类似于C/C++的函数指针。<br /> class MathOpt //先定义一个类 { public int Add(int x, int y) //类中的方法。 { return x + y; } }

2011-04-10 02:53:00 448

原创 C#接口

C#中延续了面向对象的三大特点:继承、封装、多态性。多态性是指类为名称相同的方法提供不同的实现方式的能力(依靠参数的不同)。里用多态性,就可以调用类中的某个方法而无需考虑该方法是如何实现的。实现太多的方式:1.通过抽象类实现多态性。抽象类(abstract)本身不能被实例化,只能在扩充类中通过继承使用。抽象类的部分或全部成员不一定都要实现,但是在继承类中要全部实现。抽象类中已实现的成员仍可以重写。2.通过继承实现多态性。多个类从单个基类继承。3.通过接口实现太多性。多个类可实现相同的接口,而单个类可实现一个

2011-04-09 16:37:00 469

原创 IIS中发布多个网站

一个电脑可以多为多个web程序的服务器,今天绑定新网站的时候,由于这学期的课程讲了计算机网络原理,所以才弄懂了这些方法。我们在IIS中,新建网站,填写好IP地址和端口,一般为默认端口80。并且设置主机头,为我们需要解析的二级域名。对于网站的权限,除了指定虚拟目录要有NETWORK_SERVICE的权限,还要令网站具有执行脚本的权限(isapi),并且新建立一个应用程序池,将新建的这个网站放在新建的应用程序池里。一个应用程序池负责维护一个网站,以及该网站下的所有应用程序。该应用程序池中程序的错误,不会导致其他

2011-04-09 01:56:00 3084

原创 C#中的值类型和引用类型

前几天看了一篇文章,讲的是多数程序员已经不注重基本功了,只要求能实现目的就好。便引出一到问题,C#中哪些是值类型,哪些是引用类型,自己一看这个题,只能反映上来基本的值类型,对于委托和接口还有Object这些,确实还是摸不着头脑,便翻书查阅了一下。C#的数据类型分为两类:值类型和引用类型,除了这两种类型以外,在非安全代码里还可以使用指针类型,但必须显示标明这段代码是不安全的。值类型直接存放真正的数据,每个值类型都有自己固定的长度,比如int类型占用4个字节。值类型的变量保存在堆栈(stack)中,因此对一个变

2011-04-09 01:03:00 682

原创 在网页中引入PDF

<br />要在网页中打开PDF文件输出:<br />protect void Page_Load(object sender, EventArgs e){ Response.ContentType = "Application/pdf" ; string FilePath = Server.MapPath("pdfName") ; Response.WriteFile(FilePath); Response.End();} <br /> <br /> <br

2011-04-08 23:41:00 687

原创 在网站加入QQ在线状态,实现客服功能。

<br />以前看见有些网站上乱七八糟的总有什么QQ在线客服为您服务,总觉得神秘。这么乱七八糟的网站都能做出这么高级的东西?了解了以后,才发现完全没有一点技术含量。<br />这就是QQ在线状态生成。<br />http://wp.qq.com/login.html<br />生成自己的状态,然后嵌入到页面就可以了。<br />还可以修改一下,绑定多个客服。。。<br />so easy。。。。

2011-04-08 23:32:00 1362

原创 生成图片形式的数字字母组合验证码

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Drawing;   //因为用到GDI+绘图,所以引入对应命名空间;public partial class _Default : System.Web.UI.Page{    protected void Page_

2011-04-05 16:43:00 2386

原创 浅谈向页面注册Javascript的方法

在以前的编程中,经常喜欢用Response.Write()这样的方法去向页面注册Javascript事件,又见过ClientScriptManager.RegisterStartupScript()的方法去向页面注册Javascript事件。一直不知道区别在何处。今天无意看了一下生成后的HTML源代码,原来Response.Write方法是直接想页面发送这段文字,在DOM树还没有形成的时候。也就是:显然这不符合规范,所以应当用ClientScriptManager.RegisterStartupScript

2011-04-04 03:49:00 763

原创 统一管理页面的验证——由自定义继承Page基类想到的。

<br />今天在看书的时候,发现一个启示,平时在验证登陆的时候,总是在每个页面都写上Session判断。当页面多了,有改动的时候,就十分麻烦,这时候可以使我们需要验证的页面统一继承一个验证类。由于这个验证每次是在Page_Load事件中进行的。那么这个验证类就应该继承于Page基类。<br />这个是基本的验证类:<br /> <br />using System.Web;using System.Web.UI;using System.Security;using System.Web.UI

2011-04-04 02:28:00 2023

原创 JWPlyaer配置

当需要在网站上播放音频或者视频的时候,就用开源的Jwplayer。(FLV, MP4, MP3, AAC, JPG, PNG and GIF)下载地址  最新jwplayer 5.5下载解压后,主要用到的文件有2个,jwplayer.js和player.swf。另外一个swfob

2011-03-27 22:46:00 3824

原创 【数据绑定】如何在数据绑定表达式中应用自定义函数

<br /><br />数据绑定的形式为<%# 数据绑定表达式 %>,其中数据绑定表达式常用的有两种形式:一个是直接绑定数据字段(如<%# Eval("sex") %>),另一个是间接绑定数据字段(如<%# GetSex(Eval("sex")) %>)。<br />index.aspx<br /><br />  value='<%# GetSex(Eval("sex")) %>'  <br /> <br />index.aspx.cs<br />   <br />  public string GetSe

2011-03-19 00:50:00 981

原创 FileUpload控件中防止上传文件重名

if (fp.HasFile) { savePath = Server.MapPath("~/FileUpload/"); if (!Directory.Exists(savePath)) { Directory.CreateDirectory(savePath); } textname = fp.FileNam

2011-03-07 00:53:00 3760

原创 禁止ASP.NET文本框控件一些事件的方法

<br /><asp:TextBox ID="TextBox1" onpaste="return false;" runat="server"></asp:TextBox><br /><br />onpaste="return false" 禁用粘贴<br />oncopy="return false" 禁用复制<br />oncut="return false" 禁用剪切<br />context="noContext" 禁用右键菜单

2011-03-06 23:31:00 626

原创 HyperLink控件动态绑定超链接

今天用HyperLink控件想动态绑定超链接 NavigateUrl="News.aspx?id=" Text='点击后就是无法解析出来绑定的字段,郁闷。并且NavigateUrl应该用'后来才知道这样绑定无法解析。你可以修改如下:方法一:方法二:

2011-02-27 02:47:00 5763

原创 彻底杜绝SQL注入

彻底杜绝SQL注入 1.不要使用sa用户连接数据库 2、新建一个public权限数据库用户,并用这个用户访问数据库 3、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限 4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×” 5、通过以下代码检测(失败表示权限正确,如能显示出来则表明权限太高): DECLARE@Tvarchar(255), @Cvarchar(255) DEC

2011-02-26 01:59:00 698

原创 LINQ to XML

<br />LINQ最大的好处是LINQ to XML,我觉得。<br />先引入System.Xml.Linq命名空间,其中常用的属性就是XElement。<br />LINQ基于DOM方式来操作XML,意思就是将XML文件在内存中构造成DOM树,然后来进行操作,将XML加载到内存两种方法。<br />1:将XML文件加载到内存。  XElement  xml1 = XElement.Load(Server.MapPath("book.xml"));<br />2:构造XML树。<br />XElemen

2011-02-24 16:45:00 492

原创 获取服务器和客户端的各种变量。

<br />ASP.NET中的Request对象的作用。<br /> <br />ServerVariable(环境变量)包含了客户端和服务器端的各种系统信息,可以用一下方法获得。Request.ServerVariable["变量"]。<br /><br />变量解释<br />HTTP_USER_AGENT获得用户的浏览器类型和版本<br />REMOTE_ADDR获得用户IP<br />REQUEST_METHOD获取请求方法<br />LOCAL_ADDR获取服务器IP<br />SERVER_NA

2011-02-22 11:29:00 1158

原创 System.Transaction处理数据库事务时 MSDTC不可用的解决办法。

<br />要使用System.Transaction类进行数据库事务操作时,必须得开启MSDTC。MSDTC(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。该服务的进程名为Msdtc.exe,该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server。该服务用于管理多个服务器 .<br />位置:控制面板--管理工具--服务--Distributed Transaction Coordinator<br />依存关系:R

2011-02-21 20:08:00 1384

原创 ASP.NET 页面的生命周期

ASP.NET页面编程模式不同于传统Winform,用户请求页面后,经历的过程如下。1.用户HTTP GET方式请求服务器该页面,服务器执行初步处理。      (HTTP请求连接)2.服务器动态加载页面控件,处理后。返回静态网页给客户端(浏览器)。   (这时,HTTP连接断开)3.用户输入信息或进行菜单选项,单击按钮。4.页面回发给web服务器(HTTP POST方法),回发目标若无指定的话就是该页本身。     (HTTP连接)5.web服务器再次运行该页面,并使用用户的输入信息。6.页面执行通过编程

2011-02-19 18:19:00 963

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除