共用方式為


HOW TO:建立 Serviced 元件

以下程序說明如何建立新的 Serviced 元件。

建立 Serviced 元件

  1. 定義直接或間接衍生自 ServicedComponent 類別的類別。例如,以下程式碼可確定 Calculator 類別由 COM+ 應用程式主控。

    Imports System.EnterpriseServices
    
    Public Class Account 
    Inherits ServicedComponent
        Function Add (x as Integer, y as Integer) As Integer
            Add = x + y
        End Function
    End Class
    
    using System.EnterpriseServices;
    
    public class Calculator : ServicedComponent
    {
        public int Add (int x, int y)
        {
            return(x+y);
        }
    }
    
  2. 套用屬性,以指出每個組件、類別或方法應如何與 COM+ 功能互動。

    Note注意:

    在 .NET Framework 版本 1.1 中,如果組件中沒有 ApplicationAccessControlAttribute 屬性,便會預設啟用 COM+ 安全性組態。這是 .NET Framework 版本 1.0 以後的行為變更。

    <Assembly: ApplicationName(“Calculator”)>
    <Assembly: System.Reflection.AssemblyKeyFile(“Calculator.snk”)>
    
    <MustRunInClientContext> _
    Public Class Account 
    Inherits ServicedComponent
        ‘ Member definitions.
    End Class
    
    [assembly: ApplicationName("Calculator")]
    [assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")]
    
    [MustRunInClientContext]
    public class Calculator : ServicedComponent
    {
        // Member definitions.
    }
    
  3. 產生增強金鑰並編譯以下範例:

    sn –k Calculator.snk
    vbc /t:library /r:System.EnterpriseServices.dll Calculator.vb
    
    sn –k Calculator.snk
    csc /t:library /r:System.EnterpriseServices.dll Calculator.cs
    
  4. 部署 Serviced 元件應用程式,方法是以動態或手動方式註冊其組件。

  5. Serviced 元件註冊完成之後,用戶端即可以和建立其他元件執行個體相同的方式,建立此元件的執行個體。如需完整的範例,請參閱 Serviced 元件範例

    Note注意:

    在 Windows 2000 平台上,COM+ 一律會為您正在建立的元件載入最新版本的 Common Language Runtime。這表示當電腦同時安裝 .NET Framework 版本 1.0 和 .NET Framework 版本 1.1 時,一律會載入 .NET Framework 版本 1.1。另一種因應措施是建立 COM+ dllhost.exe.configuration 檔,讓您可以鎖定所有應用程式,使其使用特定版本的 .NET Framework。在 Windows XP 和 Windows Server 2003 平台上,您可以使用「應用程式根目錄」設定,將 COM+ 指向適當的組態檔目錄。

範例

Imports System.EnterpriseServices

<Assembly: ApplicationName(“Calculator”)>
<Assembly: System.Reflection.AssemblyKeyFile(“Calculator.snk”)>

<MustRunInClientContext> _
Public Class Account 
Inherits ServicedComponent
    Function Add (x as Integer, y as Integer) As Integer
        Add = x + y
    End Function
End Class 
using System.EnterpriseServices;

[assembly: ApplicationName("Calculator")]
[assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")]

[MustRunInClientContext]
public class Calculator : ServicedComponent
{
    public int Add (int x, int y)
    {
        return(x+y);
    }
}

請參閱

參考

ServicedComponent

概念

套用屬性以設定 COM+ 服務
註冊 Serviced 元件
Serviced 元件範例
可用 COM+ 服務摘要

其他資源

撰寫 Serviced 元件

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.