
.Net
文章平均质量分 73
影子里的阳光
~~
展开
-
Remoting的一个代码示例(借助Remoting实现发送信息功能)
(一).说明 一个远程调用示例. 此示例实现功能: 客房端调用远程方法(远程方法可以弹 出自定义信息),实现发送信息功能. 实现原理概是这样的:客户端不能直接调用远程对象,它必须先通过信道请求服务端宿主程序,当收到客户端请求时, .net远程处理框架会在宿主组件的应用程序域中生成所需要的远程对象. 并执行远程对象中的方法. (二).实现方案 在之前先介原创 2006-01-04 15:20:00 · 752 阅读 · 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 · 838 阅读 · 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 · 1160 阅读 · 1 评论 -
NET 2.0远程传输数据集的优化方法
由于当前维护的项目的结构是:Winform + Webservice,所以在数据传输过程中消耗了很多的性能,因此在寻找一种简便实用的优化方法.. 先是用BinaryFormatter序列化数据集,经过WebService传输后,客户端接收到byte[]格式的数据,再反序列化,得到数据集,这种方式,在网络传输时间延迟比较长的情况下效果比较明显,否则,序列化和反序列化再传输二进制的时间甚至超过了直转载 2006-03-14 20:36:00 · 587 阅读 · 0 评论 -
应用软件的层次划分
谈到应用程序的层次,我们平时所说的层次有两种:逻辑的层次(layer)和部署的层次(tier)。这两种层次划分的目的是不同的,因此划分方式也有一些差异,能够为应用程序带来的好处也是不同的。逻辑层次逻辑层次(layer)划分的最重要的目的在于调整应用程序各部分之间的依赖关系。应用程序可以看作数据和业务规则的集合,这个集合通过用户界面与用户发生交互。如果不划分层次,或者只划分最简单的层次,系统的结构就转载 2006-03-14 20:53:00 · 1056 阅读 · 0 评论 -
基于消息与.Net Remoting的分布式处理架构
分布式处理在大型企业应用系统中,最大的优势是将负载分布。通过多台服务器处理多个任务,以优化整个系统的处理能力和运行效率。分布式处理的技术核心是完成服务与服务之间、服务端与客户端之间的通信。在.Net 1.1中,可以利用Web Service或者.Net Remoting来实现服务进程之间的通信。本文将介绍一种基于消息的分布式处理架构,利用了.Net Remoting技术,并参考了CORBA N转载 2006-03-14 20:56:00 · 716 阅读 · 0 评论 -
O/R Mapping中对象关系映射解决方案汇总
对于一个ORM方案时,为了提供用户对具体映射方案的细颗粒度的控制的可能,特别对于企业级应用,应该是用户选择是否使用该产品比较重要的因素之一,需要尽可能多的实现各种可选的常用映射方案,本文的目的就是对O/R Mapping中对象关系映射方面的解决方案作一个汇总,当设计或评价一个ORM方案的时候,也可以相应的以此作为参考。1、 继承说明:对于比较完善的继承关系一般会有如下共有特点:首转载 2006-03-14 20:57:00 · 1116 阅读 · 0 评论 -
细节决定成败:数据囊的前因后果
前因数据囊是一组对象成员访问方法的技术。传统的数据访问技术的要点是:定义业务类型的Class,在Class中定义私有的Field,然后定义公开的Property来访问这些Field并为外界提供访问属性的门面。例如这样:public class User{ private int id; private string name; protected virtual void转载 2006-03-14 21:00:00 · 746 阅读 · 0 评论 -
Asp.net未处理异常的2种解决方式(个人总结篇)
Asp.net中引发未处理的异常时,我们怎么处理。我总结了2种方法: 1.override类TemplateControl受保护的方法OnError 由于TemplateControl是抽象的,所以我们要从它派生的来编写方法 我通常是在一个页面基类public class PageBase : System.Web.UI.Page编写方法 再让所有的ASP。NET来继承类PageBase 注:转载 2006-03-14 22:25:00 · 809 阅读 · 0 评论 -
一步一步学Remoting之一:从简单开始
一、Remoting的优缺点? 优点: 1、能让我们进行分布式开发 2、Tcp通道的Remoting速度非常快 3、虽然是远程的,但是非常接近于本地调用对象 4、可以做到保持对象的状态 5、没有应用程序限制,可以是控制台,winform,iis,windows服务承载远程对象 缺点: 1、非标准的应用因此有平台限制 2、脱离iis的话需要有自己的安全机制 二、Remoting和Web服务的区别?转载 2006-03-14 22:27:00 · 659 阅读 · 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 · 597 阅读 · 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 · 566 阅读 · 0 评论 -
在asp.net中为Web用户控件添加属性和事件
在90年代初,Microsoft为Web程序员提供的 Active Server Pages(ASP)革命性地改变了Web的编程。它可以利用十分易用的模型在Web服务器上动态生成HTML,并且很容易的实现了对数据库的访问,就当时来说,这是一项多么吸引人的技术,包括现在Internet上的许多web站点都是用Asp写的,我的同事前辈们更是玩Asp的高手,经历这么多年而不衰,可见他的成功。转载 2006-03-14 23:49:00 · 627 阅读 · 0 评论 -
ASP.NET中的页面访问控制
1、简介ASP.NET 是建立微软.Net平台上的WEB编程框架,可用于在服务器上生成功能强大、结构清晰的 Web 应用程序。有必要指出的是,由于 ASP.NET 基于.Net公共语言运行库,因此在ASP.NET中可以利用整个.Net平台的全部功能。本文通过对ASP.NET开发中的页面访问控制问题的描述,涉及到了Request、Response、Session、Cookie这几个对象,并对ASP.转载 2006-03-15 00:05:00 · 1032 阅读 · 0 评论 -
ASP.NET中的状态管理
我们在ASP中能够通过cookie、查询字符串、应用程序、对话等轻易地解决这些问题。现在到了ASP.NET环境中,我们仍然可以使用这些功能,只是它们的种类更多了,功能也更强大了。 管理互联网网页主要有二种不同的方法:客户端和服务器端。 1、客户端的状态管理: 在客户端、服务器之间的多次请求-应答期间,服务器上不保存信息,信息将被存储在网页或用户的计算机上。 A、Cookie转载 2006-03-15 09:19:00 · 666 阅读 · 0 评论 -
编写随Windows启动运行的程序
通过设置和读取注册表,可以实现我们的应用程序随Windows的启动即可执行的功能。下面就是实现的代码:Form1.vbImports Microsoft.Win32.RegistryPublic Class Form1Inherits System.Windows.Forms.Form#Region " Windows 窗体设计器生成的代码 "Public Sub New(转载 2006-03-16 10:28:00 · 741 阅读 · 0 评论 -
如何得到DataGrid中点击的当前行?
下面的代码实现了如何得到点击的当前行的数据GetCurrentClickRow.aspx<%@ Page Language="vb" EnableViewState="False" AutoEventWireup="false"Codebehind="GetCurrentClickRow.aspx.vb&quo转载 2006-03-16 10:37:00 · 1205 阅读 · 0 评论 -
为简化使用Excel COM写的类
经常需要在开发中使用Excel COM,为简化使用写了这个类,感觉还是不太方便。 1using System; 2 3namespace ExcelHandle 4{ 5 /**//// 6 /// ExcelHandle 的摘要说明。 7 /// 8 public class ExcelHandle 9 { 10 11 /**转载 2006-03-16 15:37:00 · 783 阅读 · 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 · 880 阅读 · 0 评论 -
如何实现某一目录的forms身份验证
前段时间在学习后台登录验证的问题,听说forms身份验证要比较的方便,于是研究了一番,结果发现网上的资料都不全(或者不适合初学者),出了好多的问题,现在我把我的代码公布出来,希望能给大家一些帮助.我的后台文件全部放在admin目录下,后台的登录口为admin_login.aspx,现在要实现的功能是:不能直接访问admin目录下除了admin_login.aspx(即登录口)文件以外的文件,但是前转载 2006-03-14 20:30:00 · 737 阅读 · 0 评论 -
C# WinForm 中在窗口标题栏上加按钮
在窗口标题栏上加按钮本来不是什么新鲜事了,我在VC++下早也实现过了(相信很多人也都实现过了)。今天一个朋友问我C# WinForm下可否实现,我就顺便拿C#写了一个。 原理是一样的,都是重写窗口过程(WndProc),处理一些非客户区消息(WM_NCxxxx),可以说本来没有什么新意,可是从写这个程序的过程中,我也学到了两个技巧: 1)、C#中重写窗口过程不用再调用SetWindo原创 2006-03-14 20:34:00 · 1077 阅读 · 0 评论 -
接口的终结解释
接口简单的说接口就是一个契约或者规范.比如遥控器,国家出台了一个国家遥控器规范,明文要求所有的遥控器厂家都要遵循这个规范,如果不遵循规范就不给3C认证标志,就不允许上市出卖..为什么要这个规范呢?大家在时间生活中会经常碰到,甲厂的遥控器不能遥控乙厂的电视,电视遥控器不能遥控其它电器如空调,冰箱.!原因是什么呢?是各个遥控器都没有遵循一个规范,电波有长有短,电压有高有低,导致各自为政,4分5列!原创 2006-03-14 20:50:00 · 950 阅读 · 1 评论 -
页面间传递变量的方法及使用范围的讨论
不管什么时候,总能看到网上有人在问页面之间怎么传递变量,针对这一情况,我想把所有能想到的传递变量的方法汇总一下,然后再介绍各种方法的使用范围,供大家参考,也希望大家在此给点建议,来帮助后来或刚开始学.net的朋友。 我总共就总结了这么几种方法: (1)Session (2)Cookie (3)Application (4)URL地址中的参数 (5)通过隐藏字段来传递数转载 2006-03-14 20:59:00 · 598 阅读 · 0 评论 -
DotNet软件开发框架
以我个人的能力,没有足够的时间和资源自行开发一套完整的平台。在已有的众多开源项目中选择若干优秀的项目进行整合。“站在巨人肩膀上”是牛顿有一句名言.,同样适合我们的IT行业。我对平台的技术架构的构想,是采用开源的ORM框架做数据持久层, Asp.net没有合适的Web层框架,就采用Asp.net的Code-behind方式编写代码,数据持久层同Web表现层之间的连接采用IOC的容器。1、原创 2006-03-14 21:01:00 · 1273 阅读 · 0 评论 -
一步一步学Remoting之三:复杂对象
这里说的复杂对象是比较复杂的类的实例,比如说我们在应用中经常使用的DataSet,我们自己的类等,通常我们会给远程的对象传递一些自己的类,或者要求对象返回处理的结果,这个时候通常也就是需要远程对象有状态,上次我们说了几种激活模式提到说只有客户端激活和Singleton是有状态的,而客户端激活和Singleton区别在于Singleton是共享对象的。因此我们可以选择符合自己条件的激活方式:转载 2006-03-14 22:29:00 · 598 阅读 · 0 评论 -
在 C# 中通过 P/Invoke 调用Win32 DLL
下载本文的代码: NET0307.exe (133KB) 我在自己最近的编程中注意到一个趋势,正是这个趋势才引出本月的专栏主题。最近,我在基于 Microsoft® .NET Framework 的应用程序中完成了大量的 Win32® Interop。我并不是要说我的应用程序充满了自定义的 interop 代码,但有时我会在 .NET Framework 类库中碰到一些次要但又繁絮、不充分的内转载 2006-03-14 22:38:00 · 561 阅读 · 0 评论 -
C#.NET 中的类型转换
最近由于编程的需要,对 C# 的类型转换做了一些研究,其内容涉及 C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之间的转换、字符串和字符数组/字节数组之间的转换、各种数值类型和字节数组之间的转换、十六进制数输出以及日期型数据的一些转换处理,在这里与大家分享—— 1. 装箱、拆箱还是别名 许多 C#.NET 的书上都有介绍 int -转载 2006-03-14 23:33:00 · 883 阅读 · 0 评论 -
Webservice 的设计和模式
在设计Webservice 应用时,以下几点务必要考虑到:l 管理好与外系统的协同关系l 掌握底层的传输模型l 提供与应用相适应的安全策略l 计划好部署的相关事项 以下,将就这几条相关的设计需求和一些常用模式是如何应用于Webservice模型展开详细讨论。在讨论中,你会发现Webservice这项新的技术是如何与我们在以往的软件开转载 2006-03-14 23:44:00 · 812 阅读 · 0 评论 -
使用webservice解决多系统登陆问题
首先新建一个空项目project1添加一个WebForm1写如下代码private void Page_Load(object sender, System.EventArgs e) { if(Session["UserID"] != null) { this.Response.Write(Session["UserName"].ToString()); } else转载 2006-03-14 23:44:00 · 842 阅读 · 0 评论 -
加密web.config中的信息
我们都知道web.config可以保存连接字符串,我们在程序中也都是这么做的,web.config是XML,所以它有清晰的结构,是我们很容易可以读懂它,但是这也出现一个问题,我们数据库完全暴露给浏览该文件的人,这是我们所不希望的。我们可以使用一个简单有效的加密算法来加密这段连接字符,使直接浏览该文件的人不能清楚地看到这些信息。 我们一般以下面的形式保存连接字符串:转载 2006-03-14 23:52:00 · 599 阅读 · 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 · 923 阅读 · 0 评论 -
ASP.NET应用程序的安全方案
摘要:本文ASP.NET应用程序身份验证的概念,介绍了各种身份验证模式并进行了比较,阐述了选择身份验证模式的机制,并给出了一种基于窗体身份验证模式的实现方法。关键字:身份验证 authentication ASP.NET WEB应用1.身份验证概念 任何成功的应用程序安全策略的基础都是稳固的身份验证和授权手段,以及提供机密数据的保密性和完整性的安全通讯。 身份验证(authentica转载 2006-03-15 00:09:00 · 2075 阅读 · 0 评论 -
一种简便实效的配置文件读写方法
第一步,将配置信息做一个简单的类。要点:因为要用到序列化,而且是用XmlSerializer来序列化,所以要存到文件的变量信息都要声明为Public,要序列化的类用>修饰。示例:一个连接数据库的配置信息 配置信息 Public Class Item 初始默认值 Public ID As Integer = 0 Public Server As转载 2006-03-15 09:39:00 · 700 阅读 · 0 评论 -
如何建立一个灵活的、可配置的导出数据到Excel的解决方案。
告诉我,你是不是会经常碰到要导出这样的数据格式 描述一下我们要干什么:1.支持多表头定义。2.固定的某格填入固定值3.有一个数据区4.某列某行可能要根据某些数据条件插入不同的背景,图片,备注。甚至还有要求这样的格式难道我们要每次用代码写,而不能只修改一下配置文件就完成么?这都是没有问题的,只要你明白我的思路和发挥一下自己的想像能力就可以作到扩展。对,扩展,这就是我要强调的内容。很多的文章的代码,转载 2006-03-15 16:55:00 · 1000 阅读 · 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 · 1475 阅读 · 0 评论 -
如何确保只有一个应用程序实例在运行?
用System.Diagnostics 的Process类[C#]public static Process RunningInstance(){Process current = Process.GetCurrentProcess();Process[] processes = Process.GetProcessesByName (current.ProcessName);转载 2006-03-16 10:38:00 · 929 阅读 · 0 评论 -
C#中 const 和 readonly 的区别
const 和 readonly 的区别,总是不太清楚,于是查了查资料。 const 的概念就是一个包含不能修改的值的变量。常数表达式是在编译时可被完全计算的表达式。因此不能从一个变量中提取的值来初始化常量。如果 const int a = b+1;b是一个变量,显然不能再编译时就计算出结果,所以常量是不可以用变量来初始化的。 readonly 允许把一个字段设置成常量,但可以执行一些运算转载 2006-03-14 20:02:00 · 866 阅读 · 0 评论 -
NET委托:一个C#睡前故事
紧耦合从前,在南方一块奇异的土地上,有个工人名叫彼得,他非常勤奋,对他的老板总是百依百顺。但是他的老板是个吝啬的人,从不信任别人,坚决要求随时知道彼得的工作进度,以防止他偷懒。但是彼得又不想让老板呆在他的办公室里站在背后盯着他,于是就对老板做出承诺:无论何时,只要我的工作取得了一点进展我都会及时让你知道。彼得通过周期性地使用“带类型的引用”(原文为:“typed reference” 也就是d转载 2006-03-14 20:33:00 · 773 阅读 · 0 评论 -
.NET泛型技巧之类型参数之间的转换
首先我要介绍的技巧是如何提供类型参数之间的转换。我们知道,.NET泛型将每个类型参数理解为一个独立的类型。如果不通过约束指定,编译器不会对类型参数所代表的类型做任何假设。也就是说,如果在某个上下文中有两个不同的类型参数U和V,编译器不会知道运行时他们代表的真实类型能否进行类型转换,因此会拒绝编译如下代码: Public Function转载 2006-03-14 20:37:00 · 603 阅读 · 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 · 630 阅读 · 0 评论