呈顼I渝

随笔分类 -  C#

Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触
摘要:前言:在Remoting中处理事件其实并不复杂,但其中有些技巧需要你去挖掘出来。正是这些技巧,仿佛森严的壁垒,让许多人望而生畏,或者是不知所谓,最后放弃了事件在Remoting的使用。关于这个主题,在网上也有很多讨论,相关的技术文章也不少,遗憾的是,很多文章概述的都不太全面。我在研究Remoting的时候,也对事件处理发生了兴趣。经过参考相关的书籍、文档,并经过反复的试验,深信自己能够把这个问题阐述清楚了。本文对于Remoting和事件的基础知识不再介绍,有兴趣的可以看我的系列文章,或查阅相关的技术文档。本文示例代码下载:Remoting事件(客户端发传真)Remoting事件(服务端广播)R 阅读全文

posted @ 2011-08-01 17:10 呈顼 阅读(822) 评论(1) 推荐(0) 编辑

Microsoft .Net Remoting系列专题之二:Marshal、Disconnect与生命周期以及跟踪服务
摘要:Microsoft .Net Remoting系列专题之二一、远程对象的激活在Remoting中有三种激活方式,一般的实现是通过RemotingServices类的静态方法来完成。工作过程事实上是将该远程对象注册到通道中。由于Remoting没有提供与之对应的Unregister方法来注销远程对象,所以如果需要注册/注销指定对象,微软推荐使用Marshal(一般译为编组)和Disconnect配对使用。在《Net Remoting基础篇》中我已经谈到:Marshal()方法是将MarshalByRefObject类对象转化为ObjRef类对象,这个对象是存储生成代理以与远程对象通讯所需的所有相 阅读全文

posted @ 2011-08-01 17:09 呈顼 阅读(455) 评论(0) 推荐(0) 编辑

Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇
摘要:Microsoft .Net Remoting系列专题之一一、Remoting基础什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft® .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。如果不采用进程间通信(RPC)机制,则在一个进程中执行的 阅读全文

posted @ 2011-08-01 17:07 呈顼 阅读(1884) 评论(13) 推荐(3) 编辑

.NET Remoting分布式开发之经典总结篇
摘要:【IT168 技术】记得在下第一次接触.NET Remoting分布式开发是在2003年,那时候是Framework1.0初次亮相之时,Remoting分布式开发是Framework1.0其中一个亮点。经过多年的发展,在2005年,WCF随着Framework2.0首先亮相。WCF是结合Remoting,Web服务,TCP/IP套接字,MSMQ信息,P2P,WSE等多方通讯的混合体。随着WCF的出现是否意昧着Remoting即将没落,答案是否定的。因为Remoting有其独到之处,在通讯效率,信息交换,安全性等多方面都有其特点,所以在企业内部系统的信息化交换层的开发当中,很多时候会使用Remo 阅读全文

posted @ 2011-08-01 10:38 呈顼 阅读(485) 评论(0) 推荐(0) 编辑

C# 使用MarshalByRefObject跨程序调用方法
摘要:MarshalByRefObject 是通过使用代理交换消息来跨应用程序域边界进行通信的对象的基类。不是从 MarshalByRefObject 继承的对象根据值隐式封送。当远程应用程序引用根据值封送的对象时,将跨应用程序域边界传递该对象的副本。===================//程序1和程序2的共有类using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace RemoteObject{ public class CommunicationInfo : Marsha 阅读全文

posted @ 2011-07-30 17:16 呈顼 阅读(1863) 评论(0) 推荐(0) 编辑

remoting C# MarshalByRefObject 和Serializable的区别
摘要:这两种方式的类一般都是用于远程传输时使用的(本机的我想不用讨论了因为没有区别)marshalbyrefobject是通过引用传递serializable是通过值传递,现在就来分析下什么是引用传递,什么是值传递。理解这个对Remoting或者webservice的认识是很重要的。marshalbyrefobject(引用)本机或者是服务器上的其实都是同一个实例,只不过是服务器创建后你在本地使用了那个对象而已。比如说A类继承了marshalbyrefobject那么A类由服务器创建实例了,客户端都可以使用这个实例了。现在我们假设A类有一个方法叫着A,Function返回值为一个string类型这个 阅读全文

posted @ 2011-07-30 17:14 呈顼 阅读(1626) 评论(2) 推荐(0) 编辑

C# 字符串 格式化
摘要:// 0 描述:占位符,如果可能,填充位 // Label1.Text = String.Format("{0:000000}",a);// 001234 // Label2.Text = String.Format("{0:000000}",b);// 004321 // # 描述:占位符,如果可能,填充位 // Label1.Text = String.Format("{0:#######}",a);// 1234 // Label2.Text = String.Format("{0:#######}",b); 阅读全文

posted @ 2011-07-20 00:43 呈顼 阅读(456) 评论(1) 推荐(1) 编辑

C# 文件类 常用
摘要:首先要熟悉.NET中处理文件和文件夹的操作。File类和Directory类是其中最主要的两个类。了解它们将对后面功能的实现提供很大的便利。 本节先对和文件系统相关的两个.NET类进行简要介绍。 System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。 (1) 文件打开方法:File.Open () 该方法的声明如下:public static FileStream Open(string path,FileMode mode) 下面的代码打开存放在c:\tempupl 阅读全文

posted @ 2011-07-17 15:32 呈顼 阅读(806) 评论(1) 推荐(0) 编辑

C# 使用反射实现根据名称动态创建窗体的几种方法
摘要://方法1使用activator方法创建实例{ string str = null; str = "Form2"; //必须是 命名空间+点+窗体类名(这里假设为命名空间为空) Assembly tempAssembly = Assembly.GetExecutingAssembly(); Type t = tempAssembly.GetType(str); object[] args = null; object o = System.Activator.CreateInstance(t, args); ((Form2)o).Show(); //Dim frm2 As 阅读全文

posted @ 2011-07-14 15:55 呈顼 阅读(2859) 评论(1) 推荐(0) 编辑

C# Application类
摘要:产品信息CompanyName:获取与该应用程序关联的公司名称。ProductName:获取与该应用程序关联的产品名称。ProductVersion:获取与该应用程序关联的产品版本。CurrentCulture:获取或设置当前线程的区域性信息。路径信息LocalUserAppDataPath:获取本地、非漫游用户的应用程序数据的路径。UserAppDataPath:获取用户的应用程序数据的路径。UserAppDataRegistry获取用户的应用程序数据的注册表项。CommonAppDataPath:获取所有用户共享的应用程序数据的路径。CommonAppDataRegistry:获取所有用户 阅读全文

posted @ 2011-07-12 12:02 呈顼 阅读(2387) 评论(0) 推荐(1) 编辑

Gridview 分多页时导出excel的解决方案
摘要:Gridview 分多页时导出excel的解决方案在开发会遇到将gridview中的数据导入到excel 这样的需求,当girdview有多页数据时按照一般的方式导出的数据只可能是当前页的数据,后几页的数据还在数据库内,没有呈现到页面上,传统的方式是将标记字符和文本写入到 ASP.NET 服务器控件输出流,没有呈现的页面不可能输出到excel中。下面提供一种解决方式将所以数据都能导入到excel中。第一步:记录查询条件,当用户点击下载的时候以相同的条件查询,呈现到datatable这一步没有固定的代码,可以在用户查询的时候用ViewState记录查询条件,例如OrderMng.OrderLis 阅读全文

posted @ 2011-07-07 00:16 呈顼 阅读(409) 评论(0) 推荐(1) 编辑

WebService中Dataset的压缩序列化和解压反序列化 >> DataSetSurrogate的使用
摘要:在webservice中将dataset序列化是我们经常遇到的问题,但是遇到很大的dataset,则网络传输就必须考虑的问题,将dataset处理压缩后传输是我们不错的选择,下面提供这种方法:第一步:引入命名空间下载DataSetSurrogate组件using System.IO.Compression;using System.Runtime.Serialization.Formatters.Binary;将下载好的DataSetSurrogate放入bin路径下第二步:压缩序列化///序列化转化为二进制数组的DataSetpublic byte[] GetDataSetSurrogate 阅读全文

posted @ 2011-07-07 00:15 呈顼 阅读(737) 评论(0) 推荐(1) 编辑

“无法在证书存储区中找到清单签名证书”解决办法
摘要:方法:1:用记事本打开对应csproj文件,把里面的" <SignManifests>true</SignManifests> "改成"<SignManifests>false</SignManifests>".2:用记事本打开项目的.csproj文件,删除类似以下xml就能顺利通过编译了<ManifestCertificateThumbprint>B531F2CF222748C5E29308FC2247704827D1EA8C</ManifestCertificateThumbprint 阅读全文

posted @ 2011-05-27 14:59 呈顼 阅读(1188) 评论(2) 推荐(0) 编辑

存储过程中调用C#自定义封装的DLL
摘要:项目中遇到一个转换FileTime的问题.时间是在C#中用DateTime.ToFileTime写入数据库中,这在存储过程中判断年和季度成了问题,怎么样才能把时间转换为正常的时间格式呢?Sql server中又没有FromFileTime对应的方法?其实很简单用C#写一个转换时间的Dll然后在存储过程中调用就可以了.转换时间的类如下:[Guid("729ba6af-3eff-4b75-b43b-d951a190dbe6")]public class FileTimeConvert{ public FileTimeConvert() { } public string Con 阅读全文

posted @ 2011-05-12 22:12 呈顼 阅读(697) 评论(1) 推荐(0) 编辑

DevExpress 汉化
摘要:,本文提供了DevExpress WinForm 汉化和 WebForm(ASPxControls) 汉化的最简单最实用的方法,能让你快速实现对DevExpress 的汉化。同时也说明了使用原始 .resx 文件实现汉化的方法。WebForm(ASPxControls) 汉化效果图WinForm 汉化效果图如何实现上述的汉化呢?DevExpress 汉化总结下来一般分三种形式: 一、利用已经汉化好的资源包; 二、使用本地对象类,利用代码汉化; 三、资源包和代码结合。 本文只讲述用汉化好的资源包进行汉化的方法,因为此种方法最简单实用。1. WebForm(ASPxControls)汉化 第一步: 阅读全文

posted @ 2011-05-10 12:34 呈顼 阅读(1549) 评论(2) 推荐(0) 编辑

资源下载
摘要:软件资源下载 1:ExpressionStudio3中文版(含xx文件) 下载地址:http://u.115.com/file/f49284f4b8 备注说明:此下载包含xx文件 2:ExpressionStudio3(xx文件) 下载地址:http://u.115.com/file/f447cdc2ef 备注说明:此下载仅为xx文件 3:MyEclipse8.0M1+SVN插件+汉化 下载地址:http://u.115.com/file/f422239634 备注说明:此下载包含汉化文件集成了SVN插件 4:CamtasiaStudio6屏幕录制软件中文xx版 下载地址:http://u.1 阅读全文

posted @ 2011-05-03 12:43 呈顼 阅读(1241) 评论(2) 推荐(3) 编辑

几种跳过强名验证的方式
摘要:场景:自己想一个吧,也许是某公司有一个2002年开发的一个组件,开发人员是谁已无从知晓,而源码也随着这位开发人员的离职而没了踪影,更无奈的是这个组件被混淆了,却没有强名......,现在突然想用在一个规范化的,全部有强名的程序集中,并且程序集之间的引用还有安全验证...... PS:你当然可以想一个比我这个还悲惨的。需求:能让这个程序集加上强名,并且用起来。解决办法: 1、最常用的mono.cecil,在有强名文件的情况下,利用AssemblyFactory、AssemblyDefinition类配合API:[DllImport("mscoree.dll", EntryPo 阅读全文

posted @ 2011-05-01 13:12 呈顼 阅读(932) 评论(2) 推荐(1) 编辑

一个高效的数据分页的存储过程 可以轻松应付百万数据
摘要:CREATE PROCEDURE pageTest --用于翻页的测试--需要把排序字段放在第一列 ( @FirstID nvarchar(20)=null, --当前页面里的第一条记录的排序字段的值 @LastID nvarchar(20)=null, --当前页面里的最后一条记录的排序字段的值 @isNext bit=null, --true 1 :下一页;false 0:上一页 ... 阅读全文

posted @ 2010-10-13 17:03 呈顼 阅读(600) 评论(0) 推荐(0) 编辑

导航