分类

链接

2025 年 4 月
 123456
78910111213
14151617181920
21222324252627
282930  

近期文章

热门标签

新人福利,免费薅羊毛

.NET的DLL注入后怎么执行

为什么要写这篇文章 1,如果你想注入带窗体的dll,C#写界面比C++容易的多; 2,或许你想利用.net的某些功能,比如利用.Net Remoting从外部控制被注入的dll; 3,或许你是一个C#程序员,使用C#的时候总感觉更舒适些,比如笔者。同时,你希望必要时也能在宿主中调用C++函数,提供更大的灵活性,本文的方法也能做到。   注入托管dll的不同之处 首先,为什么托管dll 不能像非托管dll那样用LoadLibrary注入? 我们知道,.net语言,如C#,VB.net等,都是运行在CLR(公共语言运行时)上的,也就是我们通常所说的虚拟机,而...

.NET, C/C++ 暂无评论 阅读(3,567)

.NET代理模式

 当我们需要使用的对象很复杂或者需要很长时间去构造,这时就可以使用代理模式(Proxy)。例如:如果构建一个对象很耗费时间和计算机资源,代理模式(Proxy)允许我们控制这种情况,直到我们需要使用实际的对象。一个代理(Proxy)通常包含和将要使用的对象同样的方法,一旦开始使用这个对象,这些方法将通过代理(Proxy)传递给实际的对象。   一些可以使用代理模式(Proxy)的情况:  1、一个对象,比如一幅很大的图像,需要载入的时间很长。  2、一个需要很长时间才可以完成的计算结果,并且需要在它计算过程中显...

.NET 暂无评论 阅读(1,771)

SQL 2005安装配置

SQL2005安装图解 由于要用到MSSQL,下载了个SQL Server 2005,不过后来发现安装还是个问题,故搜集了以下SQL Server 2005安装的图解资料。   图解资料:http://wenku.baidu.com/view/9c0d8b62caaedd3383c4d38e.html 详细过程就不说了,如果有问题的话,请留言,我会解答的!

.NET 评论(1) 阅读(3,172)

c#自定义异常处理(二)

在另一篇文章里,我说了.NET异常处理机制中的自定义异常处理,今天我要说的是另外一种异常处理。 在写处理程序异常的过程中,可能会遇到各种不同类型的异常,而已要抛出不同的人性化提示,如果统一抛出一样的提示,就不人性化了, 我们一般的处理方法 是: public void Update() {        try        {   }        catch(SqlExcetion ex)        {               throw new excetion(ex);         }         catch(IOExcetion ex)          {                   throw new excetion(ex);           }           /...

.NET 暂无评论 阅读(3,481)

C#自定义异常处理(一)

在C#中所有的异常类型都继承自System.Exception,也就是说,System.Exception是所有异常类的基类. 总起来说,其派生类分为两种: 1. SystemException类: 所有的CLR提供的异常类型都是由SystemException派生。 2. ApplicationException类: 由用户程序引发,用于派生自定义的异常类型,一般不直接进行实例化。 下面看看是如何来定义异常类,以及自定义异常类如何来触发及捕获. [Serializable] public class PayOverflowException:ApplicationException { /// <summary> /// 默认构造函数 /// </summary> pu...

.NET 评论(3) 阅读(5,676)

Linq to entity多表查询如何返回查询结果

1、定义一个新的类别,类别包含了多个表的属性 public class AB    {       public int a_id;       public string a_name;       public int b_id;       public string b_name;          } 2、使用视图,和上面基本一样 其实就是使用SQL语句 示例: select a.id,a.name,b.id ,b.name from a join b on a.id=b.id 3、使用储存过程,直接返回结果集 同上。 4、使用匿名对像,返回IQueryable, 例:  public IQueryable GetAllList()       {                 var query = from a in tb_a join b...

.NET 评论(5) 阅读(14,951)

深入浅出C#委托与事件系列(八)

委托和方法的异步调用 通常情况下,如果需要异步执行一个耗时的操作,我们会新起一个线程,然后让这个线程去执行代码。但是对于每一个异步调用都通过创建线程来进行操作显然会对性能产生一定的影响,同时操作也相对繁琐一些。.Net中可以通过委托进行方法的异步调用,就是说客户端在异步调用方法时,本身并不会因为方法的调用而中断,而是从线程池中抓取一个线程去执行该方法,自身线程(主线程)在完成抓取线程这一过程之后,继续执行下面的代码,这样就实现了代码的并行执行。使用线程池的好处就是避免了频繁进...

.NET 暂无评论 阅读(1,942)

深入浅出C#委托与事件系列(七)

委托中订阅者方法超时的处理 订阅者除了可以通过异常的方式来影响发布者以外,还可以通过另一种方式:超时。一般说超时,指的是方法的执行超过某个指定的时间,而这里我将含义扩展了一下,凡是方法执行的时间比较长,我就认为它超时了,这个“比较长”是一个比较模糊的概念,2秒、3秒、5秒都可以视为超时。超时和异常的区别就是超时并不会影响事件的正确触发和程序的正常运行,却会导致事件触发后需要很长才能够结束。在依次执行订阅者的方法这段期间内,客户端程序会被中断,什么也不能做。因为当执行订阅者方法时...

.NET 暂无评论 阅读(1,995)

深入浅出C#委托与事件系列(六)

获得多个返回值与异常处理 现在假设我们想要获得多个订阅者的返回值,以List<string>的形式返回,该如何做呢?我们应该记得委托定义在编译时会生成一个继承自MulticastDelegate的类,而这个MulticastDelegate又继承自Delegate,在Delegate内部,维护了一个委托链表,链表上的每一个元素,为一个只包含一个目标方法的委托对象。而通过Delegate基类的GetInvocationList()静态方法,可以获得这个委托链表。随后我们遍历这个链表,通过链表中的每个委托对象来调用方法,这样就可以分别获得每个方法的返回值: ...

.NET 暂无评论 阅读(2,217)

深入浅出C#委托与事件系列(五)

果你看过了《深入浅出C#委托与事件系列》,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器、异常处理、超时处理和异步方法调用等内容。 为什么要使用事件而不是委托变量? 在 C#中的委托和事件 中,我提出了两个为什么在类型中使用事件向外部提供方法注册,而不是直接使用委托变量的原因。主要是从封装性和易用性上去考虑,但是还漏掉了一点,事件应该由事件发布者...

.NET 暂无评论 阅读(1,932)