代码改变世界

随笔分类 -  ASP.net

使用反射获取枚举的自定义属性Attribute及其他使用方式

2012-02-07 13:02 by ※森林小居※, 2341 阅读, 收藏, 编辑
摘要: 自定义Attribue:ImgAttribute[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)] sealed class ImgAttribute : Attribute { readonly string imgUrl; public ImgAttribute(string imgUrl) { this.imgUrl = imgUrl; } /// <summary> /// 图片地址 //... 阅读全文

C# 启动外部程序的几种方法

2012-01-12 13:58 by ※森林小居※, 3000 阅读, 收藏, 编辑
摘要: 1.启动外部程序,不等待其退出。 2.启动外部程序,等待其退出。 3.启动外部程序,无限等待其退出。 4.启动外部程序,通过事件监视其退出。// using System.Diagnostics;private string appName = "calc.exe";/// <summary>/// 1. 启动外部程序,不等待其退出/// </summary>private void button1_Click(object sender, EventArgs e){ Process.Start(appName); MessageBox.Show(S 阅读全文

C#编写Rtf文档,中文与字母区分,C#将汉字转换成GBK编码

2011-12-24 16:57 by ※森林小居※, 4492 阅读, 收藏, 编辑
摘要: 最近两天在调试仰邦的LED双色屏。他们用的控制卡只能支持三种自定义传参方式,一、文本传值,二、Rtf文档传值,三、bmp图片传值。第一种第三种在仓库中传值无法做到。其主要原因是传的数据比较的多。对于Rtf文档的操作有很大的麻烦,主要是在于编码格式,二、颜色控制。下面主要介绍如何生成Rtf文档,可以通过WORD打开并发磅到LED屏上进行正常的显示。 研究了一天,把Rtf文档主要分成:主文档区,显示文字区。在这里我把显示文字区分成:中文与英文两种,中文建议用GBK编码,英文可以直接进行替换更改。主要整理出来三种颜色:黄,红,绿。代码如下:黄(中文):{\rtlch\fcs1 \af0 \ltrc. 阅读全文

行列转换,交叉表 (统计用, 表的值转换成字段)

2011-10-20 14:30 by ※森林小居※, 1953 阅读, 收藏, 编辑
摘要: 这段时间在看SAAS方面的书籍时发现一个关于数据处理的问题。里面讲到一种扩展性非常好的方法。但一直到今天终于在网上找到了。只可惜现在还在探索,只是找到一个例子而已。我在这里把共享希望对大家有用。下面的语句在sql server 2005中我测试过没有问题。1: 列转为行:eg1:Create table test (name char(10),km char(10),cj int)goinsert test values('张三','语文',80)insert test values('张三','数学',86)insert tes 阅读全文

IIS 内部运行机制

2011-10-19 14:29 by ※森林小居※, 3517 阅读, 收藏, 编辑
摘要: ASP.NET是一个非常强大的构建Web应用的平台,它提供了极大的灵活性和能力以致于可以用它来构建所有类型的Web应用。绝大多数的人只熟悉高层的框架如: WebForms 和 WebServices --这些都在ASP.NET层次结构在最高层。这篇文章的资料收集整理自各种微软公开的文档,通过比较 IIS5、IIS6、IIS7 这三代 IIS 对请求的处理过程, 让我们熟悉 ASP.NET的底层机制并对请求(request)是怎么从Web服务器传送到ASP.NET运行时有所了解。通过对底层机制的了解,可以让我们对 ASP.net 有更深的理解。IIS 5 的 ASP.net 请求处理过程对图的解 阅读全文

对C#泛型实例化对像

2011-10-13 16:29 by ※森林小居※, 12311 阅读, 收藏, 编辑
摘要: 最近在编写一套开发框架结构主要应用.Net 3.5以上的框架开发与应用。在此框架中应用了较多的泛型。下面来讲讲对泛型的实例化,以代码为例,如:public class A{ }public class B<T>{ public static T Get() { //在这一块如何实例化T这个对象呢?如果用default(T)这个是不行的。只能做一个null值处理。 }}以上的方法就是遇到最麻烦的问题。一直以来都以为default(T)就可以实例化T这个对像,其实不然,这个只能起一个null值的作用。如果要解决以上的问题现在有两种方法:一、在使用泛型的类后面加入一个 where T : 阅读全文

C#下载文件(可显示进度)的方法实现

2011-08-21 09:46 by ※森林小居※, 3692 阅读, 收藏, 编辑
摘要: 在做WIN FORM程序中经常要使用到升级功能,就需要从服务器上下载最新扔软件程序。如何下载呢?代码实现如下: /// <summary>/// c#,.net 下载文件/// </summary>/// <param name="URL">下载文件地址</param>/// <param name="Filename">下载后的存放地址</param>/// <param name="Prog">用于显示的进度条</param>publi 阅读全文

如何查看并导出SQL SERVER数据表中字段的注释信息

2011-08-18 15:45 by ※森林小居※, 4812 阅读, 收藏, 编辑
摘要: 查看并导出SQL Server 2000数据表中字段的注释信息:此示例为导出某个表注释的语句:(表名是bbs_bank_log)SELECT sysobjects.name AS 表名, syscolumns.name AS 列名, systypes.name AS 数据类型, syscolumns.length AS 数据长度, CONVERT(char, sysproperties.[value]) AS 注释FROM sysproperties RIGHT OUTER JOINsysobjects INNER JOINsyscolumns ON sysobjects.id = sysco 阅读全文

HttpModule与HttpHandler详解

2011-08-09 16:28 by ※森林小居※, 486 阅读, 收藏, 编辑
摘要: ASP.NET对请求处理的过程:当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给 ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会通过http管道(Http PipeLine)将请求发送给ASPNET_WP.exe进程,在ASPNET_WP.exe进程中通过HttpRuntime来处理这个请求,处理完 毕将结果返回客户端。 inetinfo.exe进程:是www服务的进程,IIS服务和ASPNET_ISAPI.DLL都寄存在此进程中。 ASPNET_ISAPI.DLL:是处理.aspx文件的w 阅读全文

ADO.NET Entity Framework 批量更新/批量删除扩展

2011-07-30 11:57 by ※森林小居※, 6868 阅读, 收藏, 编辑
摘要: 一直都在想着用ADO.NET Entity Framework开发项目,只是Entity Framework 中不能同时更新多条记录。所以一直没有使作其开发。最近在看到了一些LINQ TO SQL的一些扩展方法,本人就LINQ TO SQL的扩展也实行了对Entity Framework扩展。主要代码如下: 以下是更新的扩展代码: /// <summary> /// 更新满足条件的实体,返回更新实体的条数 /// </summary> /// <typeparam name="T">更新的类型</typeparam> ... 阅读全文

C#动态调用Web服务的3种方法

2011-07-29 09:59 by ※森林小居※, 1150 阅读, 收藏, 编辑
摘要: 我们在开发C# WinForm时,有时会调用Web服务,服务是本地的当前好办,只要在Project中的Web References中引入就可以在代码中直接创建一个Web服务对象来引用,其实其原理是C#帮你自动创建客户端代理类的方式调用WebService,但如果调用的服务是动态的,比如说在几个IIS中都有相同的一个服务,在运行时输入具体的IP才确定调用哪个服务,那要怎么样实现呢。C#动态调用Web服务方法一: 手动的添加一个Web引用,然后修改下本地的代理类。最后实现Web Service的URI部署到配置文件里。 具体做法如下:以下代码是显示如何配置动态的Web Service,以服务单元C 阅读全文

SQL Server 的通用分页显示存储过程

2011-07-28 16:40 by ※森林小居※, 323 阅读, 收藏, 编辑
摘要: 建立一个 Web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于多表和大表中定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等待甚至死机。更重要的是,对于非常大的数据模型而言,分页检索时,如果按照传统的每次都加载整个数据源的方法 阅读全文

Linq 操作XML文件

2011-05-08 20:27 by ※森林小居※, 454 阅读, 收藏, 编辑
摘要: 1.创建Xml树 <person id="1"> <name>Gaby</name> <age>12</age> <address>GuangZhou</address> </person> <person id="2"> <name>Bill</name> <age>33</age> <address>USA</address> </person> <per 阅读全文

在.Net中关于AOP的实现

2011-05-08 09:24 by ※森林小居※, 307 阅读, 收藏, 编辑
摘要: 一、AOP实现初步AOP将软件系统分为两个部分:核心关注点和横切关注点。核心关注点更多的是Domain Logic,关注的是系统核心的业务;而横切关注点虽与核心的业务实现无关,但它却是一种更Common的业务,各个关注点离散地分布于核心业务的多处。这意味着,如果不应用AOP,那么这些横切关注点所代表的业务代码,就会分散在系统各处,导致系统中的每个模块都与这些业务具有很强的依赖性。在这里,所谓横切关注点所代表的业务,即为“方面(Aspect)”,常见的包括权限控制、日志管理、事务处理等等。以权限控制为例,假设一个电子商务系统,需要对订单管理用户进行权限判定,只有系统用户才能添加、修改和删除订单, 阅读全文

Linq To Sql 笔记

2011-04-24 09:01 by ※森林小居※, 269 阅读, 收藏, 编辑
摘要: Linq To SQL 无非是把合法的Linq查询表达式应用于存储在关系数据库中的数据。除查询本身外,Linq To SQL还提供了许多位于System.Data.Linq.dll程序集中的类型,便于代码库与物理数据库引擎间的数据交互。 Linq To SQL的主要目的是在关系数据库和它们进行的交互编程逻辑间提供一致性。通过使用Linq查询表达式和定义的实体类,及DataContext类型,你可以进行所有预期的数据库的增、删、改、查操作,及定义事务性上下文,创建新的数据库实体或整个数据库、调用存储过程和其他以数据库为中心的活动等。 此外,Linq To SQL中的类型可与标准的ADO.... 阅读全文

C#面试题集

2011-04-24 08:58 by ※森林小居※, 468 阅读, 收藏, 编辑
摘要: 网上收集的面试题,自己做了一下,改了些小错。1. 简述 private、 protected、 public、 internal 修饰符的访问权限。答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一程序集内可以访问。2. 列举ASP.NET 页面之间传递值的几种方式。 答. 1.使用QueryString, 如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.... 阅读全文

简单的web WebService安全

2011-04-10 09:17 by ※森林小居※, 333 阅读, 收藏, 编辑
摘要: 1. 有关生存期的补充正常情况下,每次调用 WebMethod,服务器都会创建一个新的 WebService 对象,即便客户端使用同一个代理对象多次调用 WebMethod。而我们一旦调用了有缓存标记的 WebMethod,只要未超出缓存期,WebService 对象都不会被重新创建。在缓存期内调用没有缓存标记的 WebMethod,也会继续使用该 WebService 对象。有太多因素让这个缓存机制变得不那么可靠,因此我们不能奢望用缓存标记来维持特定的对象状态,况且缓存机制的设计初衷也只是为了快速输出那些比较稳定非常大的数据。基于多用户并发调用这个环境,WebService 本身最好设计成无 阅读全文

共享访问在.NET中的编程实现

2011-04-10 00:05 by ※森林小居※, 491 阅读, 收藏, 编辑
摘要: 摘要:本文简单介绍在.NET中如何通过API实现局域网共享访问编程。本页内容概述API介绍代码实现应用示例结束语概述一般用户在访问局域网中的计算机时都需要提供访问凭据,如果想通过编程来实现自动登录,.NET开发人员一般首先会想到通过调用WMI来实现。但是在实现过程中也许你会发现使用ConnectionOptions类不是很理想,因此本文采用了平台调用的方式来介绍共享访问编程实现。API介绍mpr.dll是Windws操作系统网络通讯相关模块,通过对功能需求的分析,直接调用mpr.dll来实现该功能。在.NET中需要通过平台调用(platform invoke)来调用其中的方法,这里需要用到mp 阅读全文

使用WCF实现SOA面向服务编程——使用AJAX+WCF服务页面开发

2011-04-09 20:30 by ※森林小居※, 449 阅读, 收藏, 编辑
摘要: 在上一篇讲到,如果将BLL层的每一个类都转化为*.svc,这是一个不实在的想法。它会使服务变化复杂,难于管理。 这时候,我们第一时间想到的是23个简单开发模式中的Factory,在这里,Factory正好派上用场。我们把这个Factory称之为管道(pipeline) ,通过这个管道客户端可以随意调用服务器BLL层里面的类。 (关于管道的概念,建议参考Cory Isaacson的杰作《多核应用架构关键技术—软件管道与soa》) 当你使用B/S方式开发UI层时,只要了解此开发模式,使用Ajax加上WCF里面的WebHttpBinding绑定和WebHttpBehavior行为,可以说是天衣无缝的 阅读全文

使用WCF实现SOA面向服务编程——简单的WCF开发实例

2011-04-09 20:25 by ※森林小居※, 402 阅读, 收藏, 编辑
摘要: 在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。<service name = " " > < endpoint address = "" binding = " wsHttpBinding " contract = " myNamespace.IServi 阅读全文