1.必須引用System.EnterpriseServices和System.Reflection
2.組件類必須派生至ServicedComponent.
3.組件類一般情況下都要由下面
[Transaction(TransactionOption.Required)]
[assembly: ApplicationActivation(ActivationOption.Server)]
這兩個元屬性進行修飾,TransactionOption和ActivationOption都是枚舉類型,有多個枚舉值,各個枚舉值代表的含義不一樣.
4.需要交易處理的函數可以可以用[AutoComplete(true)]自動交易處理,也可以通過事務上下文類ContextUtil的ContextUtil.EnableCommit();ContextUtil.SetComplete();ContextUtil.SetAbort();手動交易處理.
5.配置程式集AssemblyInfo.cs.加上下面的:
[assembly: AssemblyKeyFile("..//..//key.snk")]
[assembly: ApplicationAccessControl(true)].
再把[assembly: ComVisible(false)]改為[assembly: ComVisible(true)].
注意key.snk這個檔案是通過SDK命令列產生的:sn -k key.snk.這個檔案預設產生在SDK檔案夾下面的V2.0檔案夾裡.
需要把這個密鑰檔案複製到與工程檔案目錄同級的目錄下.
6.將類庫產生為DLL檔案,右鍵類庫檔案--產生,就自動在BIN檔案夾裡產生了同名DLL檔案.
7註冊COM+組件,在SDK命令提示行裡輸入:regsvcs DLL檔案的路徑.
8在用戶端使用COM+組件,和使用普通的類庫檔案一樣,先將該類庫檔案引用進來,當然也要引用System.EnterpriseServices名稱空間和組件類庫的名稱空間.
以上就是我個人的一些總結,說的可能有點含糊,因為我也是才研究這個東東,也在學習階段.只是把遇到的問題總結下來以便日後查看.