Пример вызова COM-компонента Asp, скомпилированного C#
1 Создайте новую библиотеку классов MyTestDLL.
2. Щелкните правой кнопкой мыши проект MyTestDLL-》Свойства-》Создать-》Проверить регистрацию для COM-взаимодействия.
3. Откройте файл AssemblyInfo.cs и измените [assembly: ComVisible(true)]
4 Откройте инструмент командной строки Visual Sutdio 2008 и введите guidgen.exe. Выберите DEFINE_GUID и нажмите «Новый GUID».
5 кодов
1. Каждое имя класса соответствует имени интерфейса. Имя интерфейса представляет собой имя класса с заглавной буквой I.
2. Метод, объявленный в интерфейсе, должен использовать атрибут [DispId(n)].
3. Класс должен иметь конструктор без параметров.
Код
использование системы;
использование System.Collections.Generic;
используя System.Linq;
использование System.Text;
использование System.Runtime.InteropServices;
пространство имен MyTestDll
{
//Руководство здесь создается на шаге 4.
[Руководство(FFA4B191-FB5B-4dd5-B7B1-B2F32BF6F1FF)]
общедоступный интерфейс IMyTestDll
{
[ДиспИд(0)]
строка GetAbout();
}
общедоступный класс Test1:IMyTestDll
{
Сводная информация по частной строке;
publicTest1()
{
резюме = Это мой первый тест;
}
публичная строка GetAbout()
{
резюме возврата;
}
}
}
6 Создать проект
тестовый код asp
<%
Дим о
Установите o = Server.CreateObject(MyTestDll.Test1)
Response.Write o.GetAbout()
Установить o=Ничего
%>
Совет: Если вы хотите использовать компонент COM, который мы разработали на C#, на других компьютерах, вам также необходимо зарегистрировать его с помощью regasm.
Метод:
Сначала скопируйте файлы из каталога bin/Debug на целевой компьютер, затем откройте инструмент командной строки и введите:
regasm Каталог/filename.dll, который вы скопировали в /tlb f:/dll/filename.tlb /codebase
Run можно использовать на этом компьютере