![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 76
影子里的阳光
~~
展开
-
C#中结构与类的区别
类与结构的实例比较 类与结构的差别 如何选择结构还是类 一.类与结构的示例比较: 结构示例: public struct Person { string Name; int height; int weight public bool overWeight() { //implement something } } 类示例: public class TestTime { int hour转载 2006-03-14 20:05:00 · 540 阅读 · 0 评论 -
如何实现某一目录的forms身份验证
前段时间在学习后台登录验证的问题,听说forms身份验证要比较的方便,于是研究了一番,结果发现网上的资料都不全(或者不适合初学者),出了好多的问题,现在我把我的代码公布出来,希望能给大家一些帮助.我的后台文件全部放在admin目录下,后台的登录口为admin_login.aspx,现在要实现的功能是:不能直接访问admin目录下除了admin_login.aspx(即登录口)文件以外的文件,但是前转载 2006-03-14 20:30:00 · 700 阅读 · 0 评论 -
NET委托:一个C#睡前故事
紧耦合从前,在南方一块奇异的土地上,有个工人名叫彼得,他非常勤奋,对他的老板总是百依百顺。但是他的老板是个吝啬的人,从不信任别人,坚决要求随时知道彼得的工作进度,以防止他偷懒。但是彼得又不想让老板呆在他的办公室里站在背后盯着他,于是就对老板做出承诺:无论何时,只要我的工作取得了一点进展我都会及时让你知道。彼得通过周期性地使用“带类型的引用”(原文为:“typed reference” 也就是d转载 2006-03-14 20:33:00 · 748 阅读 · 0 评论 -
NET 2.0远程传输数据集的优化方法
由于当前维护的项目的结构是:Winform + Webservice,所以在数据传输过程中消耗了很多的性能,因此在寻找一种简便实用的优化方法.. 先是用BinaryFormatter序列化数据集,经过WebService传输后,客户端接收到byte[]格式的数据,再反序列化,得到数据集,这种方式,在网络传输时间延迟比较长的情况下效果比较明显,否则,序列化和反序列化再传输二进制的时间甚至超过了直转载 2006-03-14 20:36:00 · 553 阅读 · 0 评论 -
O/R Mapping中对象关系映射解决方案汇总
对于一个ORM方案时,为了提供用户对具体映射方案的细颗粒度的控制的可能,特别对于企业级应用,应该是用户选择是否使用该产品比较重要的因素之一,需要尽可能多的实现各种可选的常用映射方案,本文的目的就是对O/R Mapping中对象关系映射方面的解决方案作一个汇总,当设计或评价一个ORM方案的时候,也可以相应的以此作为参考。1、 继承说明:对于比较完善的继承关系一般会有如下共有特点:首转载 2006-03-14 20:57:00 · 1072 阅读 · 0 评论 -
页面间传递变量的方法及使用范围的讨论
不管什么时候,总能看到网上有人在问页面之间怎么传递变量,针对这一情况,我想把所有能想到的传递变量的方法汇总一下,然后再介绍各种方法的使用范围,供大家参考,也希望大家在此给点建议,来帮助后来或刚开始学.net的朋友。 我总共就总结了这么几种方法: (1)Session (2)Cookie (3)Application (4)URL地址中的参数 (5)通过隐藏字段来传递数转载 2006-03-14 20:59:00 · 567 阅读 · 0 评论 -
一步一步学Remoting之三:复杂对象
这里说的复杂对象是比较复杂的类的实例,比如说我们在应用中经常使用的DataSet,我们自己的类等,通常我们会给远程的对象传递一些自己的类,或者要求对象返回处理的结果,这个时候通常也就是需要远程对象有状态,上次我们说了几种激活模式提到说只有客户端激活和Singleton是有状态的,而客户端激活和Singleton区别在于Singleton是共享对象的。因此我们可以选择符合自己条件的激活方式:转载 2006-03-14 22:29:00 · 571 阅读 · 0 评论 -
一步一步学Remoting之四:承载方式
在实际的应用中我们通常只会选择用windows服务和iis来承载远程对象。选择windows服务的原因是能自启动服务,服务器重启后不需要再去考虑启动service。选择iis的理由是我们能使用集成验证等一些iis的特性。 在msdn中可以找到相关文章: http://www.microsoft.com/china/msdn/library/architecture/architecture/arc转载 2006-03-14 22:31:00 · 573 阅读 · 0 评论 -
Web Service安全机制探讨
随着 Web 服务由技术概念到实践应用的不断发展,种种迹象表明Web服务将是未来应用架构的一个极为重要的模式。当 Web 服务用于试验计划和大规模生产时,拥有一种松散耦合的、与语言和平台无关的、在组织内跨企业、跨因特网链接应用程序的方法的好处正变得愈发明显。我们的客户、业界分析家和新闻界确定了当 Web 服务日益成为主流时要解决的关键问题:安全性。这篇文章就是讨论如何选择并实现基于标准的安全体系架原创 2006-03-14 23:43:00 · 1237 阅读 · 0 评论 -
加密web.config中的信息
我们都知道web.config可以保存连接字符串,我们在程序中也都是这么做的,web.config是XML,所以它有清晰的结构,是我们很容易可以读懂它,但是这也出现一个问题,我们数据库完全暴露给浏览该文件的人,这是我们所不希望的。我们可以使用一个简单有效的加密算法来加密这段连接字符,使直接浏览该文件的人不能清楚地看到这些信息。 我们一般以下面的形式保存连接字符串:转载 2006-03-14 23:52:00 · 566 阅读 · 0 评论 -
C#中的参数传递
一. 基本型别(primitive types)对于基本型别,情况看起来要单纯一些.假设我们有如下的一段程序://Example 1using System; class MainClass{ public static void Main(){char c = a ;Console.WriteLine("1#: c= " + c);prmtvFun(c);Console.Wri转载 2006-03-15 00:04:00 · 857 阅读 · 0 评论 -
DataGrid利用DataRelation显示主从表信息(可控制从表信息隐藏和显示).(DataGrid 嵌套)
基本效果图:(程序主页面图(子表的信息可显示和隐藏))(showModalDialog弹出的修改子窗口,可根据情况刷新父窗口)一.开发环境:.net 版本:asp.net 1.1.4322.2032 工具:Visual Studio 2003操作系统:Window Server 2003 数据库:SqlServer 2000二.程序功能:1.利用DataRelation在Dat转载 2006-03-16 09:37:00 · 1422 阅读 · 0 评论 -
ASP.NET实现自适应图片大小的弹出窗口
要实现这样的效果: 点pic_small.Aspx页面的缩略图后弹出pic_all.aspx页面,pic_all.aspx页面的大小要根据图片大小自动调整,而且要有图片的说明信息,还可以点上一幅和下一幅等进行翻页。 实现过程如下: pic_small.Aspx页面缩略图处的代码为: )" src= width="118" runat="server"转载 2006-03-14 20:09:00 · 809 阅读 · 0 评论 -
用SharpZipLib来压缩和解压文件
1.建立工程,添加引用,添加SharpZipLib.dll2.建立压缩和解压类CompressionFile.cs添加如下代码using System;using System.IO;using ICSharpCode.SharpZipLib.Zip;using ICSharpCode.SharpZipLib.GZip;using ICSharpCode.SharpZipLib.BZip2;usi转载 2006-03-14 20:31:00 · 1125 阅读 · 1 评论 -
C# 事件 委托 教程
C# 中的“事件”是当对象发生某些有趣的事情时,类向该类的客户提供通知的一种方法。事件最常见的用途是用于图形用户界面;通常,表示界面中的控件的类具有一些事件,当用户对控件进行某些操作(如单击某个按钮)时,将通知这些事件。但是事件未必只用于图形界面。事件为对象提供一种通常很有用的方法来发出信号表示状态更改,这些状态更改可能对该对象的客户很有用。事件是创建类的重要构造块,这些类可在大量的不同程序中转载 2006-03-14 20:40:00 · 652 阅读 · 0 评论 -
《Effective C# 精髓》摘选
Item 1: Always Use Properties Instead of Accessible Data Members 这个是地球人都知道的条款了。你需要记住,属性是类的外部接口部分,而(公共)成员却是内部实现。如果把内部实现暴露给外部,对于以后类的实现变更是非常不利的。 Item 2: Prefer readonly to const 这个条款需要注意一下几点:转载 2006-03-14 20:45:00 · 600 阅读 · 0 评论 -
C#笔试题---完全整理版
Question 1. (单选)在计算机网络中,表征数据传输可靠性的指标是1. 传输率2. 误码率3. 信息容量4. 频带利用率Question 2. (单选)以下关于链式存储结构的叙述中哪一条是不正确的?1. 结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构2. 逻辑上相邻的结点物理上不必邻接3. 可以通过计算直接确定第i个结点的存储地址4.转载 2006-03-14 20:47:00 · 955 阅读 · 0 评论 -
基于消息与.Net Remoting的分布式处理架构
分布式处理在大型企业应用系统中,最大的优势是将负载分布。通过多台服务器处理多个任务,以优化整个系统的处理能力和运行效率。分布式处理的技术核心是完成服务与服务之间、服务端与客户端之间的通信。在.Net 1.1中,可以利用Web Service或者.Net Remoting来实现服务进程之间的通信。本文将介绍一种基于消息的分布式处理架构,利用了.Net Remoting技术,并参考了CORBA N转载 2006-03-14 20:56:00 · 684 阅读 · 0 评论 -
c#中通过值和引用传递参数
在 C# 中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员(方法、属性、索引器、运算符和构造函数)更改参数的值,并保持该更改。若要通过引用传递参数,请使用 ref 或 out 关键字。为简单起见,本主题的示例中只使用了 ref 关键字。有关 ref 和 out 之间的差异的信息,请参见、使用 ref 和 out 传递数组。本主题包括下列章节: 传递值类型参数转载 2006-03-14 22:54:00 · 699 阅读 · 0 评论 -
ADO.NET 的最佳实践技巧
简介本文为您提供了在 Microsoft ADO.NET 应用程序中实现和获得最佳性能、可伸缩性以及功能的最佳解决方案;同时也讲述了使用 ADO.NET 中可用对象的最佳实践;并提出一些有助于优化 ADO.NET 应用程序设计的建议。本文包含: • 有关 .NET 框架包含转载 2006-03-14 23:01:00 · 482 阅读 · 0 评论 -
关于事件与委托的一些对比
using System;namespace ConsoleApplication3{ public delegate void MyDelegate(string str); class Class1 { private static void Hello(string str){ Console.WriteLine("Hello "+str); } private static vo转载 2006-03-14 23:14:00 · 544 阅读 · 0 评论 -
用.NET创建Windows服务
我们将研究如何创建一个作为Windows服务的应用程序。内容包含什么是Windows服务,如何创建、安装和调试它们。会用到System.ServiceProcess.ServiceBase命名空间的类。什么是Windows服务?Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合。它没有用户界面,并且也不会产生任何可视输出。任何用户消息都会被写进Windows事件日志。转载 2006-03-14 23:24:00 · 626 阅读 · 0 评论 -
.net开源小范例(常用)
DataList嵌套范例!演示 下载范例源码[老猫的理想]ASP.NET中使用JS脚本范例!演示 下载范例源码[老猫的理想]通过htmlgenericcontrol生成页面标题范例!演示 下载范例源码[老猫的理想]随机显示数据库记录范例!演示 下载范例源码[老猫的理想]ASP.NET验证码范例!演示 下载范例源码[老猫的理想]DATALIST增删改范例!演示 下载范例源码[老猫的理想]A原创 2006-03-14 23:36:00 · 1098 阅读 · 0 评论 -
Webservice 的设计和模式
在设计Webservice 应用时,以下几点务必要考虑到:l 管理好与外系统的协同关系l 掌握底层的传输模型l 提供与应用相适应的安全策略l 计划好部署的相关事项 以下,将就这几条相关的设计需求和一些常用模式是如何应用于Webservice模型展开详细讨论。在讨论中,你会发现Webservice这项新的技术是如何与我们在以往的软件开转载 2006-03-14 23:44:00 · 782 阅读 · 0 评论 -
动态创建DataGrid的模版列
有时候我们需要邦定很复杂的DataGrid,我们知道DataGrid,DataList等控件都有Template列,我们可以通过动态的邦定模版列来实现,复杂逻辑的邦定。由于Page继承TemplateControl,所以在Page对象里面就可以使用TemplateControl类里面的方法LoadTemplate,我们可以利用这个方法加载指定路径用户控件来实现丰富的表示(顺便提一下还有一个Load转载 2006-03-14 23:48:00 · 662 阅读 · 0 评论 -
Page Template(页模板)
我很少看到有关介绍ASP.NET页模板(Page Template,以下都称为Page Template)的中文资料,在外国站点上倒是看到过不少这方面资料,不知道是不是大家都不大习惯使用Page Template。我在开发ASP.NET WEB应用程序时,比较喜欢用它,而且效果也不错。今天翻译编著部分资料并整理了下,谈谈ASP.NET Page Templates吧。转载 2006-03-16 16:11:00 · 1255 阅读 · 0 评论 -
防止页面被多次提交
此处提供的代码用来实现当asp.net页面中的某个Button被点击后disable掉该页面中所有的Button,从而防止提交延时导致的多次提交。基于之前的onceclickbutton脚本.script language="javascript"> function disableOtherSubmit() {转载 2006-03-16 16:18:00 · 650 阅读 · 0 评论 -
消息队列(Message Queue)简介及其使用
利用 MSMQ(Microsoft Message Queue),应用程序开发人员可以通过发送和接收消息方便地与应用程序进行快速可靠的通信。消息处理为您提供了有保障的消息传递和执行许多业务处理的可靠的防故障方法。MSMQ与XML Web Services和.Net Remoting一样,是一种分布式开发技术。但是在使用XML Web Services或.Net Remoting组件时,Clie转载 2006-03-16 16:20:00 · 840 阅读 · 0 评论 -
C#中 const 和 readonly 的区别
const 和 readonly 的区别,总是不太清楚,于是查了查资料。 const 的概念就是一个包含不能修改的值的变量。常数表达式是在编译时可被完全计算的表达式。因此不能从一个变量中提取的值来初始化常量。如果 const int a = b+1;b是一个变量,显然不能再编译时就计算出结果,所以常量是不可以用变量来初始化的。 readonly 允许把一个字段设置成常量,但可以执行一些运算转载 2006-03-14 20:02:00 · 832 阅读 · 0 评论 -
C# WinForm 中在窗口标题栏上加按钮
在窗口标题栏上加按钮本来不是什么新鲜事了,我在VC++下早也实现过了(相信很多人也都实现过了)。今天一个朋友问我C# WinForm下可否实现,我就顺便拿C#写了一个。 原理是一样的,都是重写窗口过程(WndProc),处理一些非客户区消息(WM_NCxxxx),可以说本来没有什么新意,可是从写这个程序的过程中,我也学到了两个技巧: 1)、C#中重写窗口过程不用再调用SetWindo原创 2006-03-14 20:34:00 · 974 阅读 · 0 评论 -
.NET泛型技巧之类型参数之间的转换
首先我要介绍的技巧是如何提供类型参数之间的转换。我们知道,.NET泛型将每个类型参数理解为一个独立的类型。如果不通过约束指定,编译器不会对类型参数所代表的类型做任何假设。也就是说,如果在某个上下文中有两个不同的类型参数U和V,编译器不会知道运行时他们代表的真实类型能否进行类型转换,因此会拒绝编译如下代码: Public Function转载 2006-03-14 20:37:00 · 564 阅读 · 0 评论 -
接口的终结解释
接口简单的说接口就是一个契约或者规范.比如遥控器,国家出台了一个国家遥控器规范,明文要求所有的遥控器厂家都要遵循这个规范,如果不遵循规范就不给3C认证标志,就不允许上市出卖..为什么要这个规范呢?大家在时间生活中会经常碰到,甲厂的遥控器不能遥控乙厂的电视,电视遥控器不能遥控其它电器如空调,冰箱.!原因是什么呢?是各个遥控器都没有遵循一个规范,电波有长有短,电压有高有低,导致各自为政,4分5列!原创 2006-03-14 20:50:00 · 917 阅读 · 1 评论 -
应用软件的层次划分
谈到应用程序的层次,我们平时所说的层次有两种:逻辑的层次(layer)和部署的层次(tier)。这两种层次划分的目的是不同的,因此划分方式也有一些差异,能够为应用程序带来的好处也是不同的。逻辑层次逻辑层次(layer)划分的最重要的目的在于调整应用程序各部分之间的依赖关系。应用程序可以看作数据和业务规则的集合,这个集合通过用户界面与用户发生交互。如果不划分层次,或者只划分最简单的层次,系统的结构就转载 2006-03-14 20:53:00 · 978 阅读 · 0 评论 -
DotNet软件开发框架
以我个人的能力,没有足够的时间和资源自行开发一套完整的平台。在已有的众多开源项目中选择若干优秀的项目进行整合。“站在巨人肩膀上”是牛顿有一句名言.,同样适合我们的IT行业。我对平台的技术架构的构想,是采用开源的ORM框架做数据持久层, Asp.net没有合适的Web层框架,就采用Asp.net的Code-behind方式编写代码,数据持久层同Web表现层之间的连接采用IOC的容器。1、原创 2006-03-14 21:01:00 · 1236 阅读 · 0 评论 -
一步一步学Remoting之一:从简单开始
一、Remoting的优缺点? 优点: 1、能让我们进行分布式开发 2、Tcp通道的Remoting速度非常快 3、虽然是远程的,但是非常接近于本地调用对象 4、可以做到保持对象的状态 5、没有应用程序限制,可以是控制台,winform,iis,windows服务承载远程对象 缺点: 1、非标准的应用因此有平台限制 2、脱离iis的话需要有自己的安全机制 二、Remoting和Web服务的区别?转载 2006-03-14 22:27:00 · 633 阅读 · 0 评论 -
一步一步学Remoting之二:激活模式
远程对象的激活模式分服务端激活和客户端激活两种,(也就是对象分服务端激活对象或者说是知名对象和客户端激活对象两种)先看看msdn怎么描述服务端激活的:服务器激活的对象是其生存期由服务器直接控制的对象。服务器应用程序域只有在客户端在对象上进行方法调用时才创建这些对象,而不会在客户端调用 new 或 Activator.GetObject 时创建这些对象;这节省了仅为创建实例而进行的一次网络往返过程。转载 2006-03-14 22:28:00 · 703 阅读 · 0 评论 -
在 C# 中通过 P/Invoke 调用Win32 DLL
下载本文的代码: NET0307.exe (133KB) 我在自己最近的编程中注意到一个趋势,正是这个趋势才引出本月的专栏主题。最近,我在基于 Microsoft® .NET Framework 的应用程序中完成了大量的 Win32® Interop。我并不是要说我的应用程序充满了自定义的 interop 代码,但有时我会在 .NET Framework 类库中碰到一些次要但又繁絮、不充分的内转载 2006-03-14 22:38:00 · 531 阅读 · 0 评论 -
ASP.NET(C#)程序中常用的代码
1. 打开新的窗口并传送参数: 传送参数:response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>") 接收参数:string a = Request.QueryString("id");string b = Request.Que转载 2006-03-14 22:42:00 · 708 阅读 · 0 评论 -
C#打印条型码生成源程序
这个程序是早此时候要用到条形码时到处找资料,受别人启发,自己尝试开发的简单测试程序,希望对有需要的朋友有所帮助,其实本人也算是C#的初学者,最近刚用它为公司开发了一个数据库应用程序.呵呵..题外话就不多说了.下面就将代码贴出来,自己看去吧.谢谢大家,谢多多支持using System;using System.Drawing;using System.Collections;using Sys转载 2006-03-14 22:44:00 · 1454 阅读 · 0 评论 -
NET类库中的小知识:弱引用
1、什么是弱引用? 通常情况下,一个实例如果被其他实例引用了,那么他就不会被GC回收,而弱引用的意思是,如果一个实例没有被其他实例引用(真实引用),而仅仅是被弱引用,那么他就会被GC回收。 2、弱引用的用处。 如果建立了一个类“Class人”,他有个属性 “手”。 private Class手 _手; public Class手 手 { get { return _手; } } 而在C转载 2006-03-14 23:11:00 · 632 阅读 · 0 评论