技术开发 频道

使用.NET 应用程序的Classic COM 组件


.NET应用程序中的接受非托管事件



    这里有一个简单的VB客户端 应用程序,此VB客户端 应用程序担任John Doe International Airport上控制台的角色,调用输入接口里的AddArrivalDetails方法。反之,执行这个方法能引起事件通知,而这些事件通知是后来被.NET 应用程序(此.NET应用程序早已预定了OnAirlineArrivedEvent事件通知)里的处理程序功能占有。AirlineArrivalPager COM对象它自己是一个被安装在out-of-proc COM 服务器里的单件对象,因此,对象服务的同一个实例——基于VB的控制台应用程序(引起事件)和.NET寻呼机应用程序都预定了OnAirlineArrivedEvent事件通知。

Dim AirlinePager As New AIRLINENOTIFYLib.AirlineArrivalPager 

Private Sub AirlineArrived_Click()
AirlinePager.AddArrivalDetails Me.AirlineName, Me.ArrivalTerminal
End Sub
   接下来看一看.NET 托管应用程序是怎样接受事件通知,这些事件通知是由AirlineArrivalPager COM对象生成的。首先需要从COM对象类型库生成一个.NET元数据代理,以致于它能被.NET应用程序使用。让我们使用类型库导入程序 (TLBIMP)生成元数据代理程序集。

tlbimp AirlineNotify.tlb /out:AirlineNotifyMetadata.dll
   我们将在.NET应用程序中引用这个元数据代理。这里有一个简单的.NET Windows Forms应用程序,通过使用委托,.NET Windows Forms应用程序从AirlineArrivalPager COM组件预定了事件通知。



0
相关文章