Шаг 121 - Создаем компонент COM+

Наша задача будет создать настоящий компонент COM+ используя NET. Смотрим код:

using System;
using System.EnterpriseServices;
using System.Reflection;

[assembly: ApplicationName("MyComponent")]
[assembly: AssemblyKeyFileAttribute("MyComponent.snk")]

[Transaction(TransactionOption.Required)]
public class MyComponent : ServicedComponent
{
	[AutoComplete]
	public void Call( string message )
	{
		Console.WriteLine("Callee called: " + message);
	}
}

Первое это то, что класс должен быть унаследован от класса ServicedComponent который обеспечивает базовые возможности компонента. Обязательно нужно устойчивое имя и название компонента, все это мы описываем в атрибутах. У класса стаит атрибуты поддержки транзакций. Все можно собирать.

sn  -k MyComponent.snk
csc /target:library /r:System.EnterpriseServices.dll MyComponent.cs

При сборке я сразу генерирую имя с включаю его в проект. В результате в каталоге будет насколько файлов.

gif/121_1.gif (1634 b)

Здесь DLL с кодом самой компоненты и snk с ключом.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.