62,072
社区成员
发帖
与我相关
我的任务
分享
请引用System.EnterpriseServices.dll
然后using System.EnterpriseServices
从ServiceComponent类派生一个类就可以使用Com+服务了,具体内容请参考:
ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconwritingservicedcomponents.htm
示例:
BankComponent 服务器
[Visual Basic]
Imports System.EnterpriseServices
Imports System.Runtime.CompilerServices
Imports System.Reflection
' Supply the COM+ application name.
<assembly: ApplicationName("BankComponent")>
' Supply a strong-named assembly.
<assembly: AssemblyKeyFileAttribute("BankComponent.snk")>
Namespace BankComponent
<Transaction(TransactionOption.Required)> _
Public Class Account
Inherits ServicedComponent
<AutoComplete()> _
Public Sub Post(accountNum As Integer, amount As Double)
' Updates the database; no need to call SetComplete.
' Calls SetComplete automatically if no exception is generated.
End Sub
End Class
End Namespace
[C#]
using System.EnterpriseServices;
using System.Runtime.CompilerServices;
using System.Reflection;
// Supply the COM+ application name.
[assembly: ApplicationName("BankComponent")]
// Supply a strong-named assembly.
[assembly: AssemblyKeyFileAttribute("BankComponent.snk")]
namespace BankComponent
{
[Transaction(TransactionOption.Required)]
public class Account : ServicedComponent
{
[AutoComplete]
public bool Post(int accountNum, double amount)
{
/* Updates the database; no need to call SetComplete.
Calls SetComplete automatically if no exception is
generated. */
return false;
}
}
}
BankComponent 客户端
[Visual Basic]
Imports BankComponent
Public Class Client
Shared Sub Main()
Dim Account As New Account()
' Post money into the account.
Account.Post(5, 100)
End Sub
End Class
[C#]
using BankComponent;
namespace BankComponentConsoleClient
{
class Client
{
public static int Main()
{
Account act = new Account();
// Post money into the account.
act.Post(5, 100);
return 0;
}
}
}