понеділок, 21 листопада 2011 р.

Вызов .NET кода из ASP страницы
Итак, возникла необходимость вызывать функционал, написанный на .NET из существующей asp-страницы. Для того, чтоб работал следующий стандартный VB 6 код:
<%@Language="VBScript" %> <% Dim testObj Set testObj = server.createObject("testlib.Test") Response.Write(testObj.TestFunc()) Response.End() %>
надо сделать следующее:

1. Скомпилировать сборку, с включенными флагами Properties -> Application -> Assembly Information -> Make Assembly COM-visible и Properties -> Signing -> Sign the assembly (создаем новый или выбираем существующий файл строгого имени в выпадающем списке 'Choose a strong name key file')
 2. Создаем библиотеку типов для свежескомпилированной сборки: regasm testlib.dll /tlb:testlib.tlb
 3. Регистрируем сборку: regasm testlib.dll
 4. Помещаем её в GAC: gacutil /i testlib.dll (К сожалению у меня на этом шаге гакутыл постоянно падал, чесно говоря, что случился Unknown Error, по-этому пришлось внести её туда вручную - открыл проводником папку C:/Windows/Assemblies и просто перетащить мышкой мою сборку)
 5. Создать COM сервер, и поместить в него приложение - нашу библиотеку. Всё. На этом этапе можно смело создавать тестовую страничку, подымать локальный веб сервер, и смотреть чего получилось :-)

Немає коментарів:

Дописати коментар