木子屋 Dnawo's BLOG

分类:Web编程

共 938 篇

ASP.NET+JQuery.Jcrop在线裁切图片示例

ASP.NET代码: 说明 ·DOCTYPE声明要去掉,否则在选取时会不正常; 资料参考 ·官方站点:http://deepliquid.com/content/Jcrop.html ·示例下载:http://www.mzwu.com/pic/201101/demo_JQuery.Jcrop.rar

通过ildasm查看省略get,set块代码的区别

平时在定义类属性时一般都这么写: 前几天看别人的代码,才知道get,set块中的代码可以省略的,并且使用起来也没什么不同: 它们有什么区别呢?打开ildasm看了下: 很明显,省略get,set块中的代码后编译器自动声明两个字段k__BackingField和k__BackingField,等效于我们手工声明的name和age。再看下MSIL代码: 当然了,这么省略也是有前提条件的,那就是不需要对属性进行一些额外的处理,比如赋值时不需检测值的有效性,否则还是不能省略的。

ASP.NET应用程序应谨慎使用static变量

先来看一个例子: App_Code/Class1.cs: Default.aspx: Default2.aspx: 先打开Default.aspx,再打开Default2.aspx,页面会显示什么?空白吗?看一下实际测试结果: 是不是很惊讶? 结论分析 在ASP.NET应用程序中,static变量在站点运行周期内都是有效的,所以它的行为和Application极为相似,而不是Session。因此,不论static变量是在App_Code中,还是在aspx页面和类库中,都会发生上边的现象。所以,在ASP.NET应用程序中应谨慎使用static变量,除非你明确它的用途及其可能发生的后果!

.net framework中引进的var对象类型声明

安装了vs 2008之后,在后台代码中,resharper插件对后台所有局部变量进行提示建议,显示需要采用"use implicitly typed local variable declaration",通过代码修改建议,发现有"use Var"的提示,通过字面含义,很快就能知道这是.net framework3.5中引进的新机制,即对局部变量进行自动类型设置,其类型取决于等号右边初始化的对象的类型。在网上查了一下相关解释,记录在此: 一、神奇的var 在C#3.0中增加了一个变量声明var,这个声明和JavaScript 的 var类似,但也有不同。 1.相同点,他能够用var来声明任何类型的局部变量。…

基于REST架构的Web Service设计

先前我曾经介绍过利用Apache Axis实现基于SOAP的Web Service实现技术和相关代码,总的来说,SOAP的Web Service解决方案虽然较为成熟,且安全性较好,但是使用门槛较高,在大并发情况下会有性能问题,在互联网上使用不太普及,因此并不太适合Web 2.0网站服务使用,目前大量的Web 2.0网站使用另外一种解决方案——REST。 REST的架构设计 REST(Representational State Transfer)是一种轻量级的Web Service架构风格,其实现和操作明显比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。…

SharpZipLib解压单个文件和文件夹

using System; using System.IO; using ICSharpCode.SharpZipLib.Zip; namespace ConsoleApplication1 { class Program { static void Main(string args) { ExtractFile(@"E:\mzwu.zip", @"code/default.htm"); ExtractFile(@"E:\mzwu.zip", "jquery-1.3.2.js", @"F:\a\b\c\d.js");…

OleDbDataAdapter+DataTable更新access数据库示例

using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; namespace ConsoleApplication1 { class Program { static void Main(string args) { string dbfile = AppDomain.CurrentDomain.BaseDirectory + "Database1.mdb"; DataTable table = new DataTable();…