科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道[冷枫].Net服务组件(ServicedComponent)简介及其使用

[冷枫].Net服务组件(ServicedComponent)简介及其使用

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

.Net服务组件(ServicedComponent)简介及其使用。

作者:冷枫 来源:CSDN 2007年9月21日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

若要使用此服务,事件类和事件接收必须直接或间接从 System.EnterpriseServices.ServicedComponent 类派生。

6)对象构造(Object construction):COM+ 对象构造用于从外部指定初始化信息,从而不必在类内指定硬编码配置信息。与对象池一起使用的对象构造函数提供资源分配器的能力,而不必实现完整的资源分配器。

可以这样配置对象构造,即,将 ConstructionEnabledAttribute 属性应用到从 System.EnterpriseServices.ServicedComponent 类派生出来的类。

7)对象池(Object pooling):COM+ 对象池服务可以减少从头创建每个对象的系统开销。在激活对象时,它从池中提取。在停用对象时,它放回池中,等待下一个请求。

对象池使您能够控制所使用的连接数量,与连接池相反,连接池用来控制达到的最大数量。下面是对象池和连接池之间的重要区别:

·         创建。使用连接池时,创建在同一线程上进行,因此如果池中没有连接,则代表您创建连接。采用对象池时,池可以决定创建新对象。但是,如果已经达到最大数量,它会给您下一个可用的对象。当需要花费较长时间来创建对象时,这的确是一个重要的行为。但不要长期使用这种方法来创建对象。

·         最小值和最大值的实施。不在连接池中实施。对象池的最大值在尝试缩放应用程序时很重要。可能需要仅为几个对象而复用成千上万个请求。

[ObjectPooling(Enabled=true, MinPoolSize=2, MaxPoolSize=5, CreationTimeOut=20000)]

8)专用组件[PrivateComponent]:公用组件可以从其他应用程序中激活,但您可能在应用程序中有多个帮助器组件,这些组件只能从该应用程序内的其他组件调用。在 COM+ 中,可以使用 PrivateComponentAttribute 属性将这些组件标记为专用。专用组件只能由同一应用程序中的其他组件看到和激活。如果调用专用组件的任何类,从进程外调用就会失败,而从进程内调用就会成功。相比之下,如果调用公用组件上的任何类,进程内和进程外调用都会成功。

9)排队组件(Queued components):COM+ 排队组件服务提供了一种使用 Microsoft 消息队列异步调用和执行组件的便捷方式。不管发送方或接收方的可用性或可访问性如何,都可进行处理。

[ApplicationQueuingAttribute(QueueListenerEnabled = true, MaxListenerThreads =  64 )]

MaxListenerThreads 属性指示并发排队组件侦听器线程的最大数。此值的有效范围是 0 1000。对于新创建的应用程序,设置是从当前用于确定侦听器线程的默认数量的算法得到的:16 乘以服务器中的 CPU 数量。此值并不表明任何时候正在运行的线程数量,只是可能的线程的最大数量。在空闲服务器上,可能只有一个线程在运行,直到在队列中出现更多消息为止。然后服务器将按需要创建更多线程,直到它达到 MaxListenerThreads 值。上面的示例将排队组件侦听器线程的最大数量设置为 64

10)基于角色的安全性(Role-based security):NET Framework 提供了将托管代码与 COM+ 安全服务集成的机制。此功能依靠与执行代码关联的 Microsoft Windows NT标记作为标识的基础。

注意   .NET Framework COM+ 基于角色的安全性机制是相互独立的,在单个应用程序内只能使用一个机制。

COM+ 安全依靠 Windows NT 帐户和进程/线程模拟。如果托管代码提供身份验证服务,那么在调用任何 COM 对象之前,它必须获得 Windows NT 安全标记并进行模拟。

11SOAP 服务 (Only in COM+ 1.5)COM+ SOAP 服务允许采用现有的组件作为 XML Web services 发布。客户端仍可以继续使用以前的方法访问该组件,但该组件也可以使用 WSDLWeb 服务描述语言)和 SOAP 进行访问。

[ApplicationActivation(ActivationOption.Library, SoapVRoot="MyVRoot")]

SoapVRoot 属性用于托管代码时,它使您能够通过 COM+ SOAP 服务公开托管服务组件。配置此属性等效于在包含服务组件的 COM+ 应用程序上启用 SOAP 服务。SoapVRoot 属性包含要作为终结点发布的虚拟根目录的名称。名称是一个简单的字符串(例如,“MyVRoot”),可以在 Web 服务器上作为“http://MyServer/MyVRoot”发布。如果不提供值,SoapVRoot 属性将设置为空。

12)同步[Synchronization]:同步是执行的逻辑线程,有时称为“活动”。COM+ 同步服务提供在对象之间流动的同步,并在任何给定时间都禁止一个以上的调用方进入组件。同步确定何时线程可以调度对对象的调用。

若要使用自动同步,请将 SynchronizationAttribute 属性应用到从 System.EnterpriseServices.ServicedComponent 派生的类。

******

虽然COM+提供了一大堆Attribute,实际上平时比较常用的Attribute有:Automatic transactions, Object PoolingJust-in-Time activation

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章