摘要:
.本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器、异常处理、超时处理和异步方法调用等内容。 为什么要使用事件而不是委托变量?在 C#中的委托和事件 中,我提出了两个为什么在类型中使用事件向外部提供方法注册,而不是直接使用委托变量的原因。主要是从封装性和易用性上去考虑,但是还漏掉了一点,事件应该由事件发布者触发,而不应该由客户端(客户程序)来触发。这句话是什么意思呢?请看下面的范例:NOTE:注意这里术语的变化,当我们单独谈论事件,我们说发布者(publisher)、订阅者(subscriber)、客户端(client)。当我们讨论Observer模式,我们说主 阅读全文
摘要:
1、服务器端服务程序启动后,建立服务器端通道;这个通道的名称是固定的。2、任何客户端(包括OCC、接收端),调用服务器端远程对象时,都先建立通道。 目前的做法是,每个调用都做,都是先建立通道、执行调用、注销通道。也就是说客户端不维持通道。那么就存在客户端同时需要建立两个通道的情况,TcpClientChannel 要求如果要注册多个信道,则每个信道都必须具有唯一的名称,即名称不能重复。 这是不是就是客户端不停的生成通道名称的原因? 现在不却确定的是,客户端为什么在应用程序的声明周期内,不维持一个通道?二、 一个通道可以建多个远程对象,但是注册时,必须指定不同的URI。如果用同一个URI注册,后 阅读全文
摘要:
1、UserControl控件。 添加UserControl后,按照说法应该出现在ToolBox中,如果找不到,需要设置: 工具-》选项-》Windows窗体设计器-》常规-》工具箱-》AutoToolBoxPopulate 改为TRUE。 这种方法不会针对这个UserControl生成dll。 还有一种方法是,新建一个UserControl工程,这个工程会生成一个控件的dll,在引用工程的ToolBox中,右键->Choose Items 阅读全文