Создание библиотеки COM-взаимодействия для ASP Classic с использованием платформы 4.0 и Visual Studio 2010

После прочтения ряда различных статей и не найдя ничего особенно убедительного, что пошагово меня ведет через процесс, я обратился за помощью.

Сценарий

Мой клиент имеет опыт разработки только для ASP Classic . Недавно они приобрели учетную запись для сайта, изначально написанного на ASP.NET. Они превращают сайт во что-то, что они могут активно поддерживать, но изначально на сайте был обработчик изображений, который брал динамически изменяющиеся данные об уровнях воды и выводил изображение, содержащее графическое представление этих данных. Требуется разработать библиотеку взаимодействия COM , которую можно зарегистрировать на сервере и вызвать с помощью CreateObject, чтобы сгенерировать тот же массив байтов изображения для вывода с помощью Response.BinaryWrite . Библиотека COM-взаимодействия должна быть зарегистрирована на удаленном сайте на Windows 2000 Server, и я не могу делать никаких предположений относительно их доступа к regasm / gacutil для выполнения этой задачи.

Сложность

Я построил библиотеку классов, создав проект Class Library в Visual Studio 2010, выбрав «COM Class» в шаблоне, и вставляю свой код для генерации класса с единственным общедоступным методом для возврата байтового массива при задании целого числа (ну, перечислитель, но все равно). К сожалению, даже на моей собственной машине разработки после создания библиотеки и регистрации (regasm) и кэширования сборки (gacutil) я не могу позвонить через классический ASP для создания экземпляра объекта, получив вместо этого ActiveX " компонент не может создать объект "ошибка. И, конечно же, на сайте сервера DLL-файл не может быть зарегистрирован, и ответ будет: «Требуемый модуль не найден».

Ресурсы, которые я использовал

Я уже просмотрел следующие статьи и не нашли ответов, которые мне нужны:

  1. (Основные шаги) Пошаговое руководство: Создание объектов COM с помощью Visual Basic
  2. Сборка и развертывание a. Сборка .NET COM
  3. Компонент взаимодействия .NET COM + с классическим ASP

То, что мне нужно

По сути, мне нужно немного потрудиться, чтобы шаг за шагом понять, что нужно сделать, чтобы выполнить требований и правильно создать модуль взаимодействия COM + в Visual Studio 2010. Создание фактического объекта класса не так уж и сложно.

Однако ни в одной из статей, которые я просмотрел, действительно не обсуждались варианты проекта или процедуры сборки с Visual Studio 2010 или .NET 4.0 Framework, и ни одна из них не обсуждалась, если есть особые соображения по развертыванию в более старых системах, таких как Windows Server 2000 и фактическая регистрация библиотеки в системе с, скажем, только regsvr32 под рукой.

7
задан Peter Mortensen 30 November 2013 в 10:07
поделиться