摘要:前言:在Remoting中处理事件其实并不复杂,但其中有些技巧需要你去挖掘出来。正是这些技巧,仿佛森严的壁垒,让许多人望而生畏,或者是不知所谓,最后放弃了事件在Remoting的使用。关于这个主题,在网上也有很多讨论,相关的技术文章也不少,遗憾的是,很多文章概述的都不太全面。我在研究Remoting的时候,也对事件处理发生了兴趣。经过参考相关的书籍、文档,并经过反复的试验,深信自己能够把这个问题阐述清楚了。本文对于Remoting和事件的基础知识不再介绍,有兴趣的可以看我的系列文章,或查阅相关的技术文档。本文示例代码下载:Remoting事件(客户端发传真)Remoting事件(服务端广播)R
阅读全文
摘要:Microsoft .Net Remoting系列专题之二一、远程对象的激活在Remoting中有三种激活方式,一般的实现是通过RemotingServices类的静态方法来完成。工作过程事实上是将该远程对象注册到通道中。由于Remoting没有提供与之对应的Unregister方法来注销远程对象,所以如果需要注册/注销指定对象,微软推荐使用Marshal(一般译为编组)和Disconnect配对使用。在《Net Remoting基础篇》中我已经谈到:Marshal()方法是将MarshalByRefObject类对象转化为ObjRef类对象,这个对象是存储生成代理以与远程对象通讯所需的所有相
阅读全文
摘要:Microsoft .Net Remoting系列专题之一一、Remoting基础什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft® .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。如果不采用进程间通信(RPC)机制,则在一个进程中执行的
阅读全文
摘要:【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
阅读全文
摘要:MarshalByRefObject 是通过使用代理交换消息来跨应用程序域边界进行通信的对象的基类。不是从 MarshalByRefObject 继承的对象根据值隐式封送。当远程应用程序引用根据值封送的对象时,将跨应用程序域边界传递该对象的副本。===================//程序1和程序2的共有类using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace RemoteObject{ public class CommunicationInfo : Marsha
阅读全文
摘要:这两种方式的类一般都是用于远程传输时使用的(本机的我想不用讨论了因为没有区别)marshalbyrefobject是通过引用传递serializable是通过值传递,现在就来分析下什么是引用传递,什么是值传递。理解这个对Remoting或者webservice的认识是很重要的。marshalbyrefobject(引用)本机或者是服务器上的其实都是同一个实例,只不过是服务器创建后你在本地使用了那个对象而已。比如说A类继承了marshalbyrefobject那么A类由服务器创建实例了,客户端都可以使用这个实例了。现在我们假设A类有一个方法叫着A,Function返回值为一个string类型这个
阅读全文
摘要:// 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);
阅读全文
摘要:首先要熟悉.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
阅读全文
摘要://方法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
阅读全文
摘要:产品信息CompanyName:获取与该应用程序关联的公司名称。ProductName:获取与该应用程序关联的产品名称。ProductVersion:获取与该应用程序关联的产品版本。CurrentCulture:获取或设置当前线程的区域性信息。路径信息LocalUserAppDataPath:获取本地、非漫游用户的应用程序数据的路径。UserAppDataPath:获取用户的应用程序数据的路径。UserAppDataRegistry获取用户的应用程序数据的注册表项。CommonAppDataPath:获取所有用户共享的应用程序数据的路径。CommonAppDataRegistry:获取所有用户
阅读全文
摘要:Gridview 分多页时导出excel的解决方案在开发会遇到将gridview中的数据导入到excel 这样的需求,当girdview有多页数据时按照一般的方式导出的数据只可能是当前页的数据,后几页的数据还在数据库内,没有呈现到页面上,传统的方式是将标记字符和文本写入到 ASP.NET 服务器控件输出流,没有呈现的页面不可能输出到excel中。下面提供一种解决方式将所以数据都能导入到excel中。第一步:记录查询条件,当用户点击下载的时候以相同的条件查询,呈现到datatable这一步没有固定的代码,可以在用户查询的时候用ViewState记录查询条件,例如OrderMng.OrderLis
阅读全文
摘要:在webservice中将dataset序列化是我们经常遇到的问题,但是遇到很大的dataset,则网络传输就必须考虑的问题,将dataset处理压缩后传输是我们不错的选择,下面提供这种方法:第一步:引入命名空间下载DataSetSurrogate组件using System.IO.Compression;using System.Runtime.Serialization.Formatters.Binary;将下载好的DataSetSurrogate放入bin路径下第二步:压缩序列化///序列化转化为二进制数组的DataSetpublic byte[] GetDataSetSurrogate
阅读全文
摘要:方法:1:用记事本打开对应csproj文件,把里面的" <SignManifests>true</SignManifests> "改成"<SignManifests>false</SignManifests>".2:用记事本打开项目的.csproj文件,删除类似以下xml就能顺利通过编译了<ManifestCertificateThumbprint>B531F2CF222748C5E29308FC2247704827D1EA8C</ManifestCertificateThumbprint
阅读全文
摘要:项目中遇到一个转换FileTime的问题.时间是在C#中用DateTime.ToFileTime写入数据库中,这在存储过程中判断年和季度成了问题,怎么样才能把时间转换为正常的时间格式呢?Sql server中又没有FromFileTime对应的方法?其实很简单用C#写一个转换时间的Dll然后在存储过程中调用就可以了.转换时间的类如下:[Guid("729ba6af-3eff-4b75-b43b-d951a190dbe6")]public class FileTimeConvert{ public FileTimeConvert() { } public string Con
阅读全文
摘要:,本文提供了DevExpress WinForm 汉化和 WebForm(ASPxControls) 汉化的最简单最实用的方法,能让你快速实现对DevExpress 的汉化。同时也说明了使用原始 .resx 文件实现汉化的方法。WebForm(ASPxControls) 汉化效果图WinForm 汉化效果图如何实现上述的汉化呢?DevExpress 汉化总结下来一般分三种形式: 一、利用已经汉化好的资源包; 二、使用本地对象类,利用代码汉化; 三、资源包和代码结合。 本文只讲述用汉化好的资源包进行汉化的方法,因为此种方法最简单实用。1. WebForm(ASPxControls)汉化 第一步:
阅读全文
摘要:软件资源下载 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
阅读全文
摘要:场景:自己想一个吧,也许是某公司有一个2002年开发的一个组件,开发人员是谁已无从知晓,而源码也随着这位开发人员的离职而没了踪影,更无奈的是这个组件被混淆了,却没有强名......,现在突然想用在一个规范化的,全部有强名的程序集中,并且程序集之间的引用还有安全验证...... PS:你当然可以想一个比我这个还悲惨的。需求:能让这个程序集加上强名,并且用起来。解决办法: 1、最常用的mono.cecil,在有强名文件的情况下,利用AssemblyFactory、AssemblyDefinition类配合API:[DllImport("mscoree.dll", EntryPo
阅读全文
摘要:CREATE PROCEDURE pageTest --用于翻页的测试--需要把排序字段放在第一列 ( @FirstID nvarchar(20)=null, --当前页面里的第一条记录的排序字段的值 @LastID nvarchar(20)=null, --当前页面里的最后一条记录的排序字段的值 @isNext bit=null, --true 1 :下一页;false 0:上一页 ...
阅读全文